TIL
< Computer Science 12일차 >
객체지향 프로그래밍이란 무엇이고 어떻게 활용할 수 있는지?
키워드 : 객체 지향 프로그래밍 (OOP)
객체 지향 프로그래밍은 흔히 OOP로 약칭되며, '객체'를 중심으로 하는 프로그래밍 패러다임입니다.
이러한 객체는 실제 엔티티를 나타낼 수 있으며, 필드(속성 또는 속성이라고도 함)의 형태로 데이터와 이 데이터에 대해 수행할 수 있는 작업(메서드라고 함)을 모두 캡슐화합니다. OOP는 이러한 객체를 중심으로 소프트웨어를 구성하여 명확성을 높이고 복잡성을 줄이며 소프트웨어의 모듈성을 개선하는 것을 목표로 합니다.
활용법:
프로그램에서 OOP를 사용하려면:
- Classes & Objects(클래스 및 객체): 모델링하려는 객체를 식별하는 것으로 시작한다. 각 객체에 대해 클래스를 정의합니다. 클래스의 인스턴스를 객체라고 합니다.
- Encapsulation(캡슐화): 데이터(속성)와 데이터에서 작동하는 메서드를 단일 단위 또는 클래스로 묶습니다. 이렇게 하면 무단 액세스 및 수정을 제한하여 데이터 무결성을 보장할 수 있습니다.
- Inheritance(상속): 기존 클래스를 기반으로 새 클래스를 생성하여 해당 속성과 동작을 상속할 수 있습니다. 이를 통해 코드 재사용성을 높이고 클래스 간에 상위-하위 관계를 설정할 수 있습니다.
- Polymorphism(다형성): 다른 클래스의 객체를 같은 클래스의 객체처럼 취급할 수 있으며, 일반적으로 메서드 재정의 또는 오버로딩을 통해 구현됩니다.
- Abstraction(추상화): 객체의 구체적인 구현 세부 사항보다는 객체가 가져야 하는 필수적인 특성과 동작에 집중합니다. 이렇게 하면 필요한 컴포넌트만 노출하여 복잡성을 단순화할 수 있습니다.
OOP를 효과적으로 사용하려면 일반적으로 객체 패러다임을 지원하는 프로그래밍 언어를 선택해야 합니다. 소프트웨어 컴포넌트를 상호 연결된 객체로 설계하여 위에서 언급한 원칙을 준수하도록 하세요. 이 접근 방식을 사용하면 코드의 모듈화, 유지보수 및 확장성을 높일 수 있습니다.