본문 바로가기
Language/java

Java_Study 객체지향 프로그래밍 (상속)

by gamxong 2022. 7. 3.

 

상속의 정의와 장점

 

상속이란?

: 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것.

 

장점

: 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여

 

방법

: 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써준다.

 

조상 클래스 부모클래스, 상위클래스, 기반클래스
자손 클래스 자식클래스, 하위클래스, 파생된 클래스

 

- 생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다.
- 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.

 

 

자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성된다.

 

 

클래스간의 관계 
- 포함관계

 

 

: 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것

 

class Circle {
	int x;
    int y;
    int r;
}

class Point {
	int x;
	int y;
}

 

* Point 클래스 재사용 > 간결해짐

class circle {
	Point c = new Point();
    int r;
}

 

 

클래스간의 관계 설정하기

 

상속관계 '~은 ~이다.'
포함관계 '~은 ~을 가지고 있다.'

 

 

단일 상속

 

: 자바에서는 오직 단일 상속만을 허용한다.

 포함과 상속을 이용하여 단일 상속을 극복한다.

 

 

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

 

* 이미 어떤 클래스로부터 상속받도록 작성된 클래스에 대해서는 컴파일러가 'extends Object'를 추가하지 않는다.

 

댓글