객체 지향 프로그래밍(OOP)은 세 가지 주요 요소로 구성됩니다. 이 세 가지 요소는 "캡슐화", "상속", "다형성"입니다. 이들은 객체 지향 프로그래밍의 기본 원칙을 나타내며, 코드의 구조화와 유지 보수를 더욱 효율적으로 가능하게 해줍니다.
- 캡슐화 (Encapsulation):
- 캡슐화는 데이터와 데이터를 처리하는 메서드를 하나로 묶어서 객체라는 단위로 관리하는 개념입니다.
- 데이터와 데이터 처리 방법을 외부로부터 숨기고, 객체 내부에서만 접근할 수 있도록 제어함으로써 코드의 보안성과 모듈성을 강화합니다.
- 접근 제어자를 사용하여 객체의 내부 데이터에 접근하는 것을 제어할 수 있습니다.
- 클라이언트 코드는 객체의 인터페이스만 알면 되므로, 내부 구현 변경에 영향을 덜 받습니다.
- 상속 (Inheritance):
- 상속은 기존 클래스를 기반으로 새로운 클래스를 생성하는 개념입니다.
- 기존 클래스의 특성을 물려받아 새로운 클래스에서 재사용하고 확장할 수 있도록 해줍니다.
- 부모 클래스(상위 클래스 또는 기본 클래스)와 자식 클래스(하위 클래스 또는 파생 클래스) 간의 관계를 형성합니다.
- 코드의 중복을 줄이고 유지 보수를 쉽게 할 수 있습니다.
- 다형성 (Polymorphism):
- 다형성은 동일한 인터페이스를 사용하여 다른 클래스들을 처리하는 능력을 의미합니다.
- 같은 이름의 메서드나 연산자가 다양한 클래스에서 다르게 동작할 수 있는 능력을 나타냅니다.
- 오버로딩과 오버라이딩을 통해 구현됩니다.
- 코드의 재사용성과 유연성을 높이며, 객체 간의 교환성을 강화합니다.
이 세 가지 요소는 객체 지향 프로그래밍의 기반을 이루며, 이를 통해 보다 모듈화된 코드를 작성하고 관리할 수 있습니다.