공부/JAVA
[Java] 상속
raptorhs
2024. 4. 17. 09:10
상속
자바 언어에서 상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소를 의미합니다.
가장 단순한 형태를 생각해 보면, 두 클래스를 상위 클래스와 하위 클래스로 나누어 상위 클래스의 멤버(필드, 메서드, 내부 클래스)를 하위 클래스와 공유하는 것을 의미합니다.
여기서 우리는 이 두 클래스를 서로 상속 관계에 있다고 하며, 하위 클래스는 상위 클래스가 가진 모든 멤버를 상속받게 됩니다.
따라서 하위 클래스의 멤버 개수는 언제나 상위 클래스의 그것과 비교했을 때 같거나 많습니다.
"~클래스로부터 상속받았다"라는 표현보다는 "~클래스로부터 확장되었다"는 표현이 그 역할과 기능을 생각했을 떄 더 적절한 표현입니다.
왜 상속을 사용할까요?
상속을 통해 클래스를 작성하면 앞선 예제에서 확인할 수 있었던 것처럼 코드를 재사용하여 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있어 코드의 중복을 제거할 수 있습니다.
또한, 상속은 다형적 표현이 가능하다는 장점이 있습니다.
자바에서 상속을 구현하는 방법은 아주 간단합니다. 클래스를 상속할 때는 extends 키워드를 사용하며, 클래스명 다음에 extends 상위 클래스명을 사용하여 정의합니다.