상세 컨텐츠

본문 제목

[Java] 상속

IT/JAVA

by o_zeew 2024. 9. 6. 11:36

본문

 

목차

1. 상속

2. super, super()

3. 오버라이딩

 


 

1. 상속 (Ingeritance)

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

  - 부모 클래스 : 상속 대상이 되는 기존 클래스 (상위 클래스, 기초 클래스)

  - 자식 클래스 : 기존 클래스를 상속하는 클래스 (하위 클래스, 파생 클래스)

  - 부모 클래서의 필드와 메소드가 상속됨 (생성자, 초기화 블록은 상속 X)

  - 다중 상속 불가능 (부모가 여럿 X)

  - private, default 멤버는 자식 클래스에서 접근 불가

class 자식 클래스명 extends 부모 클래스명 {
        필드;
        메소드;
        ...
}

 

 

2. super, super()

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

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

 

 

3. 오버라이딩 (Overriding)

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

  - 오버라이딩 조건

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

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

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

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

'IT > JAVA' 카테고리의 다른 글

[Java] 추상 클래스  (1) 2024.09.06
[Java] 다형성  (0) 2024.09.06
[Java] 클래스와 객체  (0) 2024.09.05
[Java] 다차원 배열  (0) 2024.09.05
[Java] 조건문과 반복문  (0) 2024.09.04

관련글 더보기