새소식

프로그래밍 언어/JAVA

자바 기초 - 상속

  • -

상속 (Inheritance)


상속이란 사전적 의미로 "일정한 친족 관계가 있는 사람 사이에서, 한 사람이 사망한 후에 다른 사람에게 재산에 관한 권리와 의무의 일체를 이어 주거나, 다른 사람이 사망한 사람으로부터 그 권리와 의무의 일체를 이어받는 일" 로 정의되고 있습니다.

 

자바에서는 상위(부모) 클래스의 멤버를 하위(자식) 클래스에서 재사용하기 위해서 사용하는 것을 상속이라고 합니다.

 

이렇게 재사용하게 되면 상위 클래스의 코드를 변경할 때 모든 하위 클래스들에게도 적용되므로 유지 보수성이 향상됩니다.

 

다만, 상속을 사용하면 클래스간 결합도가 높아지므로 확실한 IS-A 관계에서만 사용하는 것이 좋습니다.

 

사용법


extends라는 키워드를 사용해서 상속을 합니다.

 

// 상위 클래스
class Animal {...}

// 하위 클래스
class Dog extends Animal{...}
class Cat extends Animal{...}

 

상위 클래스의 생성자와 초기화 블록은 상속받지 않습니다.

 

주의할 점은 자식 클래스로 인스턴스를 생성할 때 자동적으로 부모의 기본 생성자를 호출하는 것을 기억하고 사용해야하며, 매개변수가 있는 부모 생성자를 호출하고 싶다면 super(매개변수) 를 이용해야 합니다. this()와 마찬가지로 첫 줄에 위치해야 합니다.

 

더불어, 자바에서는 다중 상속을 지원하고 있지 않습니다. 대신 Interface로 다중 상속을 대체하고 있습니다.

 

 

 

참고하면 좋을만한 글들

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.