티스토리 뷰
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
- React useState Example
- 클래스
- 유니티
- Java
- 상속
- Linux Pipe
- 유니티 캐릭터
- Linux
- 함수
- Kotlin
- Unity
- 유니티 플레이어 캐릭터
- JVM
- object
- 유니티 게임 개발
- 유니티 실습
- 리액트 useState 예제
- 유니티 개발
- 오버라이딩
- 유니티 게임개발
- inheritance
- 코틀린
- react
- Unity2D
- React useState 예제
- 리액트
- JavaScript
- 리눅스
- 자바
- Transform
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |