본문 바로가기

수업 복습하기/Java

Day 10 - 상속(Inheritance)

728x90
728x90

= 상속(Inheritance)

 

일반적으로 상속의 의미는 부모의 재산을 자식에게 물려주는 걸 말한다.

이걸 객체 지향 프로그램에서 상위 객체가 자식 객체에게 자신이 가지고 있는 필드와 메소드를 물려주어서, 하위 객체가 굳이 같은 내용을 여러번 반복해서 작성하지 않아도, 사용할 수 있게끔 하는 것이 oop에서의 상속의 의미이다.

 

- 부모 클래스 : parent or super class- 자식 클래스 : child or sub

 

i) 단일 상속만을 지원합니다.ii) 상속이 될 때는, 멤버 변수와 메서드만 상속이 되며, 생성자는 상속이 되지 않습니다.iii) 상속을 사용하는 키워드 extendsiv) 모든 클래스는 Object 클래스를 상속 받고 있습니다.(Object 클래스는 자바의 최상위 클래스

 

자 사람의 종류로 예시를 들어보자.만약 내가 여러 사람 직업별 그룹을 묶어서 표현하고 싶을 때, 상속이 없다면, 직업별로 이렇게 나누어서 작성을 해야한다.

하지만 상속이 있다면?

어떻게 표현 할 수 있을지 확인해보자.

Person 클래스를 잘 사용해서, Student,Teacher,Employee에 person을 상속받았다.

그러면 Person 클래스가 부모클래스, 나머지 자식 클래스는 Student,Teacher,Employee 클래스들 이다.

 

그걸 활용하여 메인클래스까지 작성해보자~

<출력값>

이름:도토리, 나이:20
이름:홍길자, 나이:40
이름:홍길동, 나이:50

info에는 이름과 나이만 포함되어있는 것이 상속되었기 때문에, studentid나 subject,department는 보이지 않는다.

728x90

'수업 복습하기 > Java' 카테고리의 다른 글

Day 11 - 오버로딩 (Overloading)  (0) 2021.08.30
Day 10 - 오버라이딩(Overriding)  (0) 2021.08.30
Day 10 - 기본타입과 참조타입  (0) 2021.08.29
Day 10 - 패키지(Package)  (0) 2021.08.29
Day 09 - 생성자(Constructor)  (0) 2021.08.26