본문 바로가기

카테고리 없음

[JAVA] 클래스에서 상속받는다란?

상속을 2가지로 생각해볼 수 있다. 개념적 상속과, 기능적 상속이다.

기능적 상속은 메소드나 변수가 추가가 되어서 커진다는 것을 생각하면 된다. 예를 들어서 이브이가 진화되었을 때, 이브이의 공격에 특정 공격들을 추가할 수가 있다.

 

 

반면 개념적 상속은 이브이의 공통적 속성을 갖고 있음을 아는 것이다.

 

 

예를들어 꼬북이를 생각해보자. 꼬북이는 거북이타입의 포켓몬으로 볼 수도 있고, 거북이 타입은 물타입 포켓몬의 부분으로 볼 수 있다. 물타입에는 잉어킹같은 것도 있기 때문이다.

 

 

이 관점을 갖고 가는 것이 내가 만들고자 하는 클래스의 기능 확장등을 생각하며 설계에 도움이 된다.