JAVA)클래스의 상속과 다형성

Daehwan Jung·2022년 9월 26일
1

JAVA

목록 보기
2/15

클래스 상속의 개념과 문법적 특징

클래스의 상속은 부모 클래스의 멤버(필드,메서드,이너 클래스)를 내려받아 자식 클래스 내부에 포함시키는 자바의 문법 요소다.

상속의 개념

대학생 클래스에는 '이름','나이','학번'이라는 3가지 필드와 '먹기()','잠자기()','등교하기()'라는 메서드가 있다.
직장인 클래스에는 '이름','나이','사번'이라는 3가지 필드와 '먹기()','잠자기()','출근하기()'라는 메서드가 있다.

사람이라면 누구나 이름과 나이가 있고, 먹고 자야 하므로 두 클래스 모두 이름 필드와 나이 필드, 먹기() 메서드와 잠자기()메서드를 공통으로 포함하고 있다.

결국 사람의 속성(이름,나이)과 기능(먹기(),잠자기())에 학번이라는 속성과 드교하기()라는 기능만 추가한 것이 대학생 클래스가 되고 사람의 속성과 기능에 사번 속성과 출근하기()기능을 추가한 형태가 직장인 클래스가 된다.

이렇게 사람 클래스가 부모 클래스 대학생과 직장인 클래스가 자식 클래스가 된다. 두 자식 클래스는 부모의 모든 멤버를 내려받기 때문에 대학생과 직장인 클래스 내에서는 추가 필드와 메서드만 구성하면 된다.

상속의 장점

1.코드의 중복성 제거
2.다형적 표현이 가능

'대학생은 대학생이다' 는 당연히 맞는 말
'대학생은 사람이다' 도 맞는 말
이렇게 1개의 객체를 여러 가지 모양으로 표현할 수 있는 특성을 다형성이라고 한다.

상속 문법

class 자식 클래스 extends 부모 클래스{
	...
}

//부모 클래스
class Human{
	String name;
    int age;
    void eat(){...};
    void sleep(){...};
}

//학생 클래스
class Student extends Human{
	int studentID;
    void goToSchool(){...};
}

//직장인 클래스
class Worker extends Human{
	int workerID;
    void goToWork(){...};
}

0개의 댓글