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