15. 상속과 추상화
상속과 추상화는 객체지향 프로그래밍의 핵심 개념으로, 코드의 재사용성과 유지보수성을 향상시키는 데에 큰 도움을 줍니다. 상속을 통해 클래스 간의 계층 구조를 형성하고, 추상화를 통해 공통된 특성과 동작을 정의하여 객체의 구조와 동작을 이해하고 설계할 수 있습니다.
1. 상속(Inheritance)
상속은 하나의 클래스가 다른 클래스의 특성을 물려받는 것을 의미합니다.
상속을 통해 클래스 간에 계층 구조를 형성하고, 상위 클래스(부모 클래스 또는 슈퍼 클래스)의 특성을 하위 클래스(자식 클래스 또는 서브 클래스)가 상속받을 수 있습니다.
상속을 받은 하위 클래스는 상위 클래스의 멤버 변수와 메서드를 사용할 수 있으며, 필요에 따라 추가적인 멤버 변수와 메서드를 정의할 수도 있습니다.
상속을 통해 코드의 재사용성을 높이고, 계층 구조를 통해 다형성(Polymorphism)을 구현할 수 있습니다.
예시:
2. 추상화(Abstraction)
추상화는 객체의 공통된 특성을 추출하여 클래스로 정의하는 과정입니다.
추상화를 통해 클래스는 객체의 상태와 동작을 표현하고, 필요한 정보와 기능을 캡슐화합니다.
추상화를 통해 클래스는 객체를 실체화하고 구체화할 수 있으며, 객체의 중요한 특성에 집중할 수 있습니다.
추상화는 인터페이스와 추상 클래스를 사용하여 구현됩니다.
예시
추상 클래스는 추상 메서드를 포함하며, 인스턴스를 직접 생성할 수 없습니다. 추상 클래스를 상속받은 하위 클래스에서 추상 메서드를 구현해야 합니다. 추상화를 통해 공통된 동작을 정의하고, 다형성을 실현할 수 있습니다.
Last updated