[JAVA] 상속

Gabriela·2023년 7월 24일
0

JAVA

목록 보기
10/24
post-thumbnail

상속

  • 다른 클래스의 기능(메소드)을 물려 받아서 사용 할 수 있는 기능이다.

  • 다음 관계가 있는 클래스들을 상속 관계로 만들 수 있다.
    - is a 관계 : ~은 ~이다.
    - has a 관계 : ~은 ~을 가지고 있다.


‣ is a 관계

  • 상속 관계로 만들 수 있는 대표적인 관계이다.
  • 예시
    Student is a Person. (학생은 사람이다.)
  • 개념
    서브클래스(자식) is a 슈퍼클래스(부모)

‣ has a 관계

  • 간혹 상속 관계로 만들 수 있다.
  • 예시
    - Tv has a Remocon. (Tv는 Remocon을 가지고 있다.)
  • 개념
    - 서브클래스(자식) has a 슈퍼클래스(부모)

‣ 부모 클래스

  • 자식 클래스에게 기능(메소드)를 제공한다.
  • 슈퍼 클래스(super)라고 한다. ()

‣ 자식 클래스

  • 부모 클래스의 기능(메소드)을 자신의 것처럼 사용할 수 있다.
  • 서브 클래스(sub)라고 한다. (아래)

‣ 상속 관계 도식


‣ 상속 관계의 생성자

  • 자식 클래스를 생성할 때는 "반드시" 부모 클래스를 "먼저" 생성해야 한다.
  • 서브 클래스의 생성자가 호출될 때는 "반드시" 슈퍼 클래스의 생성자를 "먼저" 호출해야 한다.
  • 만약 서브 클래스의 생성자에서 슈퍼 클래스의 생성자를 호출하지 않으면 Java에 의해서 슈퍼 클래스의 "디폴트 생성자"가 호출된다.
  • 서브 클래스의 생성자에서 슈퍼 클래스의 생성자를 호출하는 방법super()이다.

‣ 메소드 오버라이드

(method override)

  • 슈퍼 클래스의 메소드를 서브 클래스가 다시 만드는 것을 말한다. (메소드 덮어쓰기)
  • 오버라이드 하는 메소드는 @Override Annotation을 추가하는 것이 좋다 (권장)
  • 반드시 동일한 모습으로 오버라이드 해야 한다.

profile
개발이 세상에서 제일 재밌어요

1개의 댓글

comment-user-thumbnail
2023년 7월 24일

좋은 글 감사합니다.

답글 달기

관련 채용 정보