728x90
참조 변수 Super
super는 자손 클래스에서 조상 클래스로부터 상속받은 멤버를 참조하는 데 사용되는 참조 변수이다.
상속받은 멤버와 자신의 멤버와 이름이 같을 때는 super를 붙여서 구별할 수 있다.
Super() 조상의 생성자 쓰기
this()는 같은 클래스의 다른 생성자를 호출하는 데 사용되지만, super()는 조상의 생성자를 호출하는데 사용된다.
class Point {
int x, y;
Point(int x, int y){
this.x = x;
this.y = y;
}
}
class Point3D extends Point{
int z;
Point3D(int x, int y, int z) {
this.x = x; // 조상의 멤버를 초기화
this.y = y; // 조상의 멤버를 초기화
this.z = z;
}
}
틀린 코드는 아니지만, 생성자 Point3D()를 아래처럼 조상의 멤버는 조상의 생성자를 통해 초기화되도록 작성하는 것이 바람직하다.
Point3D(int x, int y, int z) {
super(x, y); // 조상클래스의 생성자 Point(int x, int y)를 호출
this.z = z; // 자신의 멤버를 초기화
}
반응형
'Server > 자바의정석' 카테고리의 다른 글
[Java 입문] 다형성(polymorphism) (0) | 2022.09.28 |
---|---|
[Java 입문] 제어자(modifier), 캡슐화 (0) | 2022.09.28 |
[Java 입문] 상속 (0) | 2022.09.27 |
[Java 입문] 생성자(constructor) (0) | 2022.09.27 |
[Java 입문] Static 메서드와 인스턴스 메서드 (0) | 2022.09.27 |