JAVA

Super

스물훈 2020. 4. 20. 13:19

Super

- 하위 클래스의 인스턴스 메소드(static이 붙지 않은 메소드)에서 상위 클래스의 인스턴스를 가리키는 포인터

- super.을 하게 되면 상위 클래스에서 만든 것들이 보여지게 된다.

- 상위 클래스와 하위 클래스에 동일한 이름의 프로퍼티나 메소드가 있는 경우 하위 클래스의 메소드에서

   상위 클래스의 프로퍼티나 메소드를 호출하기 위해서 사용

 

super(매개변수)

- 하위 클래스의 생성자에서 상위 클래스의 생성자를 호출하는 방법

- 하위 클래스의 생성자에는 코드를 작성하지 않아도 상위 클래스의 디폴트 생성자를 호출하는

   super()가 가장 위에 있는것으로 간주함.

- 직접 super()를 호출하면 기본적으로 제공되는 super()는 없어짐.

- 상위 클래스의 디폴트 생성자가 없는 경우 상속을 받으면 에러. 

   이런 경우에는 하위 클래스에 생성자를 만들고 super(매개변수)를 호출해 주어야 함.

- super(매개변수)는 첫번째 줄에 나와야 하고 한번만 나와야 함.