- 객체 지향 프로그래밍의 중요한 특징 중 하나가 상속이다. 상속은 우리가 일반적으로 알 듯 무엇인가를 물려받는다는 의미이다.
- B 클래스가 A 클래스를 상속받으면 B 클래스는 A 클래스의 멤버 변수와 메서드를 사용할 수 있다.
- 객체 지향 프로그램은 유지 보수하기 편하고 프로그램을 수정하거나 새로운 내용을 추가하는 것이 유연한데, 그 기반이 되는 기술이 바로 상속이다.
클래스 상속 문법
- 자바 문법으로 상속을 구현할 때는 extends 예약어를 사용한다. 이때 사용하는 extends 예약어는 '연장, 확장하다'의 의미이다. 즉 A가 가지고 있는 속성이나 기능을 추가로 확장하여 B 클래스를 구현한다는 뜻이다. 그러면 일반적인 클래스 A에서 더 구체적인 클래스 B가 구현됩니다.
class B extends A { } - B 클래스가 A 클래스를 상속받는다.
- 포유류는 사람보다 일반적인 개념이다. 즉 사람은 포유류의 특징과 기능을 기본으로 더 많거나 다른 특징과 기능을 가지고 있다. 이렇게 상속 관계에서는 상위 클래스가 하위 클래스보다 일반적인 개념이고, 하위 클래스는 상위 클래스보다 구체적인 클래스가 된다.
메서드 오버라이딩 (Method Overriding)
- 부모 클래스의 메서드를 자식클래스가 동일한 형태로 또다시 구현하는 행위를 메서드 오버라이딩이라고 한다. (메서드 덮어쓰기)
메서드 오버로딩 (Method Overloading)
- 입력 항목이 다른 경우 동일한 이름의 메서드를 만들 수 있는데 이를 메서드 오버로딩이라고 부른다.