1. OOP란?
Object-Oriented Programming, 객체 지향 프로그래밍을 의미하며 이는 프로그램들을
객체들의 모임으로 간주하고 객체들 간의 상호작용을 중심으로 설계하고 구현하는 방법론이다.
2. OOP를 사용하는 이유?
프로램을 보다 모듈화되고 유지보수가 용이하며
재사용성이 높은 코드를 개발하기 위해서다.
3. OOP의 종류
- 클래스와 객체
클래스는 객체를 만들기 위한 설계도며, 객체의 속성과 동작을 정의할 수 있다.
객체는 클래스의 인스턴스이며 클래스의 속성을 가지고 있다.
- 캡슐화
데이터와 메서드를 하나의 단위로 묶어 객체의 내부 구현을 외부로부터 숨기고
오직 정의된 메서드를 통해서만 객체에 접근할 수 있도록 하는 것이다.
- 상속
기존 클래스의 속성과 메서드를 상속받는 하위 클래스가 재사용하는 것을 의미한다.
- 다형성
같은 이름의 메서드가 다양한 형태로 동작할 수 있는 성질을 말하며
오버라이드와 오버로딩을 통해 구현된다.
- SOLID
단일 책임 원칙 (Single Responsibility Principle)
하나의 클래스는 하나의 책임만 가진다.
개방-폐쇄 원칙 (Open/Closed Principle)
기존의 코드를 수정하지 않고 확장할 수 있어야 한다.
확장에는 열려있고 변경에는 닫혀있어야 함을 의미한다.
리스코프 치환 원칙 (Liskov Substitution Principle)
자식 클래스는 부모 클래스의 역할을 대체할 수 있어야 한다.
인터페이스 분리 원칙 (Interface Segregation Principle)
인터페이스는 클라이언트가 필요로하는 작은 단위로 분리되어야 한다.
클라이언트는 불필요한 메서드에 의존하면 안된다는 것을 의미한다.
의존성 역전 원칙 (Dependency Inversion Principle)
의존 관계를 맺을 때 구체적인 구현이 아닌 추상화된 인터페이스에 의존해야 한다.
'간단한 IT 지식' 카테고리의 다른 글
[오늘의 지식] C# 제네릭 컬렉션 (1) | 2024.03.05 |
---|---|
[오늘의 지식] 컴퓨터의 실수 표현 (0) | 2024.03.04 |
[오늘의 지식] 바이트 정렬 (2) | 2024.02.28 |
[오늘의 지식] 전략 패턴 (1) | 2024.02.27 |
[오늘의 지식] IPC (Inter Process Communication) (0) | 2024.02.26 |