상속(Inheritance)은 객체지향 프로그래밍에서 중요한 개념 중 하나로, 클래스 간의 계층적 관계를 표현하는 메커니즘입니다. 상속은 기존 클래스의 특성(속성과 메서드)을 새로운 클래스가 재사용하거나 확장할 수 있도록 해줍니다.
기존 클래스를 부모 클래스 또는 슈퍼 클래스(superclass)라고 하고, 새롭게 생성되는 클래스를 자식 클래스 또는 서브 클래스(subclass)라고 합니다. 자식 클래스는 부모 클래스의 모든 속성과 메서드를 상속받아 사용할 수 있습니다.
상속의 주요 특징:
- 코드 재사용성(Reuse of Code):
- 부모 클래스의 특성을 자식 클래스가 재사용할 수 있어, 코드의 중복을 피할 수 있습니다.
- 공통된 기능이나 특성을 여러 클래스에서 사용할 때 유용합니다.
- 확장성(Extensibility):
- 자식 클래스는 부모 클래스의 기능을 확장하거나 수정할 수 있습니다.
- 새로운 속성이나 메서드를 추가하거나, 기존의 메서드를 재정의(오버라이딩)하여 새로운 동작을 정의할 수 있습니다.
- 계층 구조(Hierarchical Structure):
- 상속을 통해 클래스들 사이에 계층적인 구조를 형성합니다.
- 상위 클래스에서 정의된 특성들이 하위 클래스로 전달되어 하위 클래스들이 공통된 특성을 가질 수 있습니다.
- 다형성(Polymorphism):
- 상속은 다형성을 지원합니다. 이는 부모 클래스 타입으로 선언된 변수에 자식 클래스의 객체를 할당할 수 있음을 의미합니다.
- 이로써 동일한 메서드 호출이 다양한 형태로 동작할 수 있습니다.
'CS' 카테고리의 다른 글
| 오버로딩과 오버라이딩의 차이점 (0) | 2023.11.20 |
|---|---|
| 서로 다른 성능을 가진 기기에서 Update 사용 시 주의할 점 (0) | 2023.11.20 |
| 객체지향이란 (0) | 2023.11.16 |
| 자료구조의 종류와 차이점 (0) | 2023.11.16 |
| 값 형식과 참조 형식의 차이점 (0) | 2023.11.16 |