Day12 - 클래스의 상속

2021. 3. 3. 19:12JAVA 공부

이번에는 클래스와 상속을 알ㄹㄹㄹㄹㄹㄹㄹㄹㄹㄹㄹ라 봅시다

 

클래스의 상속

상속이 뭔가요?

바로 부모 자식 간에 물려주는거죠.

 

여기서도 똑같이 쓰입니다.

 

물려주는 클래스 -> 부모 클래스

받는 클래스 -> 자식 클래스

 

먼저, 만들어 놓은 클래스들을 봅시다

이 3개의 클래스를 보면,

String name

int age

 

String info() 가 똑같아요. 클래스의 이름만 다를 뿐이지...

 

이걸 상속으로 만들어 보겠습니다.

부모가 될 Person 클래스에 공통된 멤버 변수와 메서드를 넣어 주었습니다.

그리고 자식이 될 클래스 들을 보죠

이렇게, 자식이 될 클래스 3개가 공통이 되던 부분이 사라지고 다른 부분만 남았어요

 

자 이렇게 만든 클래스들을 쓸 MainClass 를 만들어 봅시다

여기서 부모가 되는 Person 클래스는 멤버변수로 name , age를 가지고 있고

메서드 info() 를 가지고 있죠

그래서 쓰는데 전혀 문제가 없을 것 같이 보입니다. 실제로 없기도 하구요

이번에는 자식이 되는 클래스를 써 볼게요

자. Student 클래스는 name 도 age 도 input() 도 없고, studentId만 있죠?

그런데, 실제로 사용하는데는 문제가 없습니다.

즉. 부모가 가지고 있는 멤버 변수와 메서드를 자식에게 물려줍니다.

그래서 사실 Student 클래스는 적혀 있지는 않지만 Person 클래스에 있는게 전부 있는거죠

자 형태를 한번 살펴 봅시다.

 

부모 클래스는 공통적으로 사용할 멤버 변수와 메서드를 만들어 줍니다.

 

자식 클래스는 class 이름 뒤에 extends 부모클래스이름 을 붙여줍니다.

ex) public class Student extends Person

이렇게 extends 를 붙여주면 상속을 받겠다 라는 뜻이 됩니다.

 

부모 클래스에서 정의된 멤버변수와 메서드는 자식 클래스에서 사용이 가능하다.

 

이렇게, 상속을 사용하는 이유는 코드의 재사용성을 높이기 위해서 라고 합니다.

ex) 비슷한 기능을 하는 클래스 1000줄의 코드 1000개를 만든다면?

상속을 사용하면 코드를 줄일 수 있겠죠

 

이번에는 클래스의 상속에 대해 알아 보았습니다

 

고생하셨습니다

'JAVA 공부' 카테고리의 다른 글

Day13 - 오버로딩  (0) 2021.03.04
Day12 - 오버라이딩  (0) 2021.03.04
Day12 - 변수의 기본타입과 참조타입  (0) 2021.03.03
Day12 - 패키지 와 import  (0) 2021.03.03
Day12 - Garbage Collecting  (0) 2021.03.03