본문 바로가기

기술면접

객체 지향 프로그래밍이란?

객체 지향 프로그래밍(OOP)은 컴퓨터 프로그램을 객체들의 유기적인 협력과 결합으로 파악하고자 하는 프로그래밍 패러다임을 말합니다.

 

OOP의 특징 4가지

1. 추상화 : 객체의 공통적인 속성과 기능을 추출하여 정의합니다.

2. 캡슐화 : 서로 연관있는 속성과 기능들을 하나의 캡슐로 만들어 외부로부터 데이터를 보호합니다.
이유 : 데이터 보호(클래스에 정의된 속성과 기능)와 은닉(내부의 동작을 감추고 필요한 부분만 노출)

3. 상속 : 반복적인 코드를 최소화하고 공유하는 속성과 기능에 간편하게 접근하여 사용할 수 있습니다.

4. 다형성 : 객체의 속성이나 기능이 상황에 따라 바뀔 수 있습니다. 예) 오버로딩, 오버라이딩

 

 

SOLID 원칙

1. Single Responsibility Principle(SRP) : 단일 책임 원칙

하나의 객체(클래스)는 하나의 책임만을 가져야 하는 원칙입니다.

 

2. Open-Closed Principle(OCP) : 개방 폐쇄 원칙

확장에는 개방적이고 수정에는 폐쇄적이어야 한다는 원칙입니다.

 

3. Liskov Substitution Principle(LSP) : 리스코프 치환 원칙

자식 클래스는 항상 부모 클래스를 대체할 수 있다는 원칙입니다.

 

4. Interface Segregation Principle(ISP) : 인터페이스 분리 원칙

클라이언트가 사용하지 않는 메서드에 의존하지 않아야 한다는 원칙입니다.

 

5. Dependency Inversion Principle(DIP) : 의존성 역전 원칙

고수준 모듈이 저수준 모듈의 구현에 의존해서는 안 되고 저수준 모듈이 고수준 모듈에 의존해야 한다는 원칙입니다.

'기술면접' 카테고리의 다른 글

제네릭이란?  (0) 2023.03.29
MSA란?  (0) 2023.03.29
인덱스를 사용하는 이유  (0) 2023.03.28
의존성 주입이란?  (0) 2023.03.28
REST API란?  (0) 2023.03.27