JAVA
Super
스물훈
2020. 4. 20. 13:19
Super
- 하위 클래스의 인스턴스 메소드(static이 붙지 않은 메소드)에서 상위 클래스의 인스턴스를 가리키는 포인터
- super.을 하게 되면 상위 클래스에서 만든 것들이 보여지게 된다.
- 상위 클래스와 하위 클래스에 동일한 이름의 프로퍼티나 메소드가 있는 경우 하위 클래스의 메소드에서
상위 클래스의 프로퍼티나 메소드를 호출하기 위해서 사용
super(매개변수)
- 하위 클래스의 생성자에서 상위 클래스의 생성자를 호출하는 방법
- 하위 클래스의 생성자에는 코드를 작성하지 않아도 상위 클래스의 디폴트 생성자를 호출하는
super()가 가장 위에 있는것으로 간주함.
- 직접 super()를 호출하면 기본적으로 제공되는 super()는 없어짐.
- 상위 클래스의 디폴트 생성자가 없는 경우 상속을 받으면 에러.
이런 경우에는 하위 클래스에 생성자를 만들고 super(매개변수)를 호출해 주어야 함.
- super(매개변수)는 첫번째 줄에 나와야 하고 한번만 나와야 함.