개발 언어/자바(Java)

[개념정리] 자바(JAVA) 상속(implements / extends)

라이언 IT 2024. 6. 2. 17:52

공부와 업무 정리를 위해 포스팅 합니다.

* 정확하지 않는 내용이 있을 수 있으니 참고해주시면 감사하겠습니다.

 

업무를 하면서 implements와 extends 로 상속된 소스를 많이 본다.

그때마다 "상속 되었구나" 정도만 생각하고 넘어갔지만 자세한 개념 이해의 필요성을 느껴 정리해본다.


<상속(Inheritance)>

 - 클래스는 단 하나의 추상 클래스를 상속할 수 있고 여러 개의 인터페이스를 구현할 수 있다.

 - 추상 클래스는 객체 타입을 나타내고 인터페이스는 일련의 행동(동작)을 나타내기 때문이다.

 

<implements>

 - 선언만 있는 interface를 상속하여 재정의(Overriding)하여 사용

 - implements 로 상속할 경우 해당 interface의 메소드를 모두 재정의해야 함

 - class 파일에서 implements 로 상속받아 선언 메소드를 구현하여 사용

 

<extends>

 - 클래스/인터페이스에서 상속하여 해당 변수/메소드를 재정의(Overriding) 없이 그대로 사용 가능

 - interface에서 extends 로 상속받으면 사용하고 싶은 메소드만 가져올 수 있음



Reference

- Java의 추상 클래스와 인터페이스의 차이점