Java 상속

yesjuhee·2024년 10월 24일

Java 공부

목록 보기
8/17

남궁성님의 자바의 정석 3편 "Chapter 07 객체지향 프로그래밍 2"를 읽고 저의 방식대로 정리 한 글입니다.

상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 상속시 생성자와 초기화 블럭은 상속되지 않고 클래스의 멤버만 상속된다.

class Parent { ... }
class Child extends Parent {
	...
}

  • Parent : 조상 클래스, 부모(parent) 클래스, 상위(super) 클래스, 기반(base) 클래스
  • Child : 자손 클래스, 자식(child) 클래스, 하위(sub) 클래스, 파생된(derived) 클래스

클래스간의 관계

클래스를 상속받는 방법 외에도, 클래스 간의 포함(Composite) 관계를 맺어 클래스를 재사용할 수 있다. 클래스 간의 포함관계를 맺어 주는 것은 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것을 뜻한다.

그렇다면, 클래스 간의 관계를 설정할 때 상속관계를 선택할지, 포함관계를 선택할지 어떻게 결정할 수 있을까? 두 객체의 관계가 ‘is-a’로 이어진다면 상속관계를, ‘has-a’로 이어진다면 포함관계를 선택하면 된다. 예를 들어 Shape 클래스와 Point 클래스를 정의한 다음 이 두 클래스를 Circle 클래스에서 사용하는 경우를 생각해보자. 원은 도형이므로 Shpae 클래스를 상속받고, 원은 점과 반지름으로 구성되므로 Point 클래스를 포함시킨다.

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

Object 클래스는 모든 클래스 상속계층도의 최상위에 있는 조상클래스이다. 다른 클래스로부터 상속 받지 않는 모든 클래스들은 컴파일러가 자동적으로 Object 클래스를 상속시킨다.

profile
https://yesjuhee.tistory.com/

0개의 댓글