상속

  • 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
  • 자손클래스 extends 조상클래스    ex) class Child extends Parent { }
  • 조상클래스 : 상속해주는 클래스
  • 자손클래스 : 상속 받는 클래스
  • 조상 클래스가 변경되면 자손 클래스는 자동으로 영향을 받게 된다
  • 자손 클래스가 변경되는 것은 조상 클래스에 아무런 영향을 주지 못한다.
  • 자손 클래스는 조상 클래스의 모든 멤버를 상속받는다. (단, 생성자와 초기화 블럭은 상속되지 않는다.)
  • 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.
  • 자손클래스의 인스턴스를 생성하면 조상 클래스의 멤버도 함께 생성되기 때문에 따로 조상 클래스의 인스턴스를 생성하지 않고도 조상 클래스의 멤버들을 사용할 수 있다.

상속계층도

클래스 간의 관계 - 포함관계 ( composite)

  • 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언 (클래스 재사용)
  • 간결, 다른 클래스 작성 시 재사용 가능

클래스 간의 관계 결정

  • 포함관계 : ~은 ~을 가지고 있다. (has -a)      → 90%이상 대부분 포함관계 사용
  • 상속관계 : ~은 ~이다.(is-a)      → 꼭 필요한 경우에만 사용

단일 상속

  • 자바에서는 단일 상속만 허용 (다중상속 불가)
  • Tip : 비중이 높은 클래스 하나만 '상속관계', 나머지는 '포함관계'로 한다.

Object클래스 - 모든 클래스의 조상

  • 모든 클래스 상속계층도의 최상위에 있는 조상클래스
  • 부모가 없는 클래스는 자동적으로 Object 클래스를 상속받게 된다. (컴파일러 자동추가)
  • 자바의 모든 클래스들은 Object 클래스의 멤버들을 상속 받기 때문에 Object 클래스에 정의된 멤버들 사용가능
  • Object 클래스의 주요 메서드 : toString( ), equals(Object o) ...

'Today I Learned > java' 카테고리의 다른 글

애너테이션(annotation)  (0) 2022.10.25
열거형(enum)  (0) 2022.10.25
컬렉션 프레임웍(collections framework)  (0) 2022.10.22
객체지향프로그래밍  (1) 2022.10.06
배열 Array(1)  (0) 2022.09.27

+ Recent posts