7-10~11 참조변수 super, 생성자 super()
참조변수 super
- 객체 자신을 가리키는 참조 변수
- 인스턴스 메서드(생성자)내에서만 존재 (static 메서드 내에 사용 불가)
- 조상의 멤버를 자신의 멤버와 구별할 때 사용 (this : lv와 iv 구별에 사용)
조상의 생성자 super()
- 조상의 생성자를 호출할 때 사용 (생성자, 초기화 블럭은 상속 X)
- 조상의 멤버는 조상의 생성자를 호출해서 초기화
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){
super(x, y) // 조상 클래스의 생성자 Point(int x, int y) 호출
this.z = z;
}
}
- 생성자의 첫 줄에 반드시 생성자를 호출해야 한다. 그렇지 않으면 컴파일러가 생성자의 첫 줄에 super();를 삽입
-> 조상 클래스에서 만약 매개변수가 있는 생성자를 선언하고 기본 생성자를 선언하지 않은 상황에서, 자식 클래스의 생성자 호출을 하지 않으면 super()를 선언하므로 오류가 발생할 수 있다. 이런 오류를 방지하기 위해 기본적으로 기본 생성자를 선언해야 함.
Author And Source
이 문제에 관하여(7-10~11 참조변수 super, 생성자 super()), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@oyeon/7-1011-참조변수-super-생성자-super저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)