티스토리 뷰

Java

super

림디 2020. 3. 30. 12:00

super 는 부모 클래스로부터 상속받은 멤버를 참조하는데 사용되는 참조 변수이다.

 

상속받은 멤버와 자식의 클래스 정의한 멤버의 이름이 같을 때는 super를 사용해서 구별 할 수있다.

 

즉, 부모 클래스의 멤버와 자식 클래스의 멤버가 중복 정의되어 서로 구별해야하는 경우에만 super를 사용하는것이 좋다.

 

Ex// 

 

class test{

public static void main(String args[])

{

Child ch = new Child();

c.Play();

}

 

 

class Parent{

int a = 2019;

}

 

class Child extends Parent{

int a = 2020;

            void Play()

            {

              System.out.plrintln("x = " + a);

             System.out.plrintln("x = " + this.a);

             System.out.plrintln("x = " + super.a);

            } 

}

 

 

결과 

x = 2020

x = 2020

x = 2019

 

조상 클래스의 메서드를 자손 클래스에서 오버라이딩 하는 경우에 super를 사용한다.

 

 

super() 조상 클래스의 생성자를 호출하는데 사용된다.

 

*Obeject 클래스를 제외한 모든 클래스의 생성자 첫 줄에는 생성자(같은 클래스의 다른 생성자 또는 조상의 생성자)를 호출해야한다. 그렇지 않으면 컴파일러가 자동적으로 생성자 첫줄에 super를 삽입한다.

'Java' 카테고리의 다른 글

import  (0) 2020.04.03
패키지(package)  (0) 2020.04.02
오버라이딩(overriding)  (0) 2020.03.29
Object클래스  (0) 2020.03.28
단일 상속(Single inheritance)  (0) 2020.03.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함