본문 바로가기
JAVA/JAVA 기초

상속(Inheritance)

by 도쿠니 2022. 3. 28.

1. 상속

- 기존 클래스에 기능 추가 및 재정의하여 새로운 클래스를 정의하는 것

 

- 부모 클래스 : 상속 대상이 되는 기존 클래스

- 자식 클래스 : 기존 클래스를 상속하는 클래스 

 

- 부모 클래스의 필드와 메소드가 상속되고 생성자,초기화 블록은 상속되지 않음

 

- 다중 상속은 불가능

 

- private, default 멤버는 자식 클래스에서 접근 불가 (default는 내부 패키지의 자식 클래스는 가능)

 

- extends를 통해서 상속을 표현

class 자식 클래스명 extends 부모 클래스명{

}

2. super, super()

- super : 부모 클래스와 자식 클래스의 멤버 이름이 같을 때 구분하는 키워드

- super() : 부모 클래스의 생성자 호출

 

3. 오버라이딩 (Overriding)

- 부모 클래스의 메소드를 자식 클래스에서 재정의

- 메소드의 선언부는 부모 클래스의 메소드와 동일해야 함

- 반환 타입에 한해, 부모 클래스의 반환 타입으로 변환할 수 있는 타입으로 변경 가능

- 부모 클래스의 메소드보다 접근제어자를 더 좁은 범위로 변경 불가

- 부모 클래스의 메소드보다 더 큰 범위의 예외 선언 불가

- @Override 어노테이션을 사용하면 컴파일러가 오버라이딩을 하는 메소드인지 체크해준다.

'JAVA > JAVA 기초' 카테고리의 다른 글

추상 클래스 (Abstract Class)  (0) 2022.03.29
다형성(Polymorphism)  (0) 2022.03.28
클래스와 객체  (0) 2022.03.28
다차원 배열  (0) 2022.03.28
반복문(for과 while)  (0) 2022.03.28

댓글