본문 바로가기
Java의 정석/객체지향 프로그래밍 II

참조변수 super

by Hwanii_ 2023. 6. 5.
728x90

 

1. 생성자 내부에서만 존재가 가능 == 객체와 무관한 static 메서드 내에서는 사용 불가

 

 

1. 부모 클래스인 Parent 클래스의 멤버변수는

이 클래스 내부의 생성자 에서 x와 y가 각각 this 참조변수를 붙혀서 사용 가능 하다.

 

2. 자식 클래스인 Child 클래스에서는 이 x와 y에 각각 super 참조변수를 붙혀서

본인의 멤버변수와 구분을 지어 줄 수 있다.

 

 

1. 위처럼, 부모의 멤버변수도 x, 자식의 멤버변수도 x로 동일 하면 ?

컴퓨터는 가장 가까운 x인 자식의 멤버변수 x로 인식하게 된다.

 

2. 그래서 x는 자식의 멤버변수 이고, this.x는 당연히 자기 자신을 의미하는 멤버변수 x

 

3. 부모의 멤버변수 x를 부르고 싶으면 ?

참조변수 super을 붙혀서 불러 오면 된다.

 

 

1. 위의 경우는, 자식 클래스에 멤버에 상속을 받았기 때문에 int y가 존재 한다.

2. 그런데 본인 스스로의 멤버가 int y는 아니기에, (본인의 멤버변수에 int y가 없기에)

y는 부모로부터 받은 y

this.y도 부모로부터 받은 y

super.y도 부모로부터 받은 y가 된다.

 

 

[ Console ]

 

 

반응형

'Java의 정석 > 객체지향 프로그래밍 II' 카테고리의 다른 글

제어자  (0) 2023.06.06
생성자 super()  (0) 2023.06.05
오버라이딩 (Overriding)  (0) 2023.06.05
단일 상속 (Single Inheritance), Object클래스  (0) 2023.06.05
클래스 간의 관계 - 포함관계  (0) 2023.06.04