객체 지향 프로그래밍(Object Oriented Programming)

Just Do It·2022년 1월 10일
0

CS 면접 준비

목록 보기
1/4

JaeYeopHan님 깃허브 참고


1. 객체 지향 프로그래밍(OOP)이란?

객체 지향 프로그래밍이란 현실 세계를 컴퓨터로 옮겨와 프로그래밍하는 것을 말한다. 현실 세계의 사물들을 객체라 보고 그 객체로 부터 개발하고자 하는 애플리케이션에 필요한 특징들을 뽑아와 프로그래밍 한다. 이것을 추상화라고 한다.

2. OOP 설계 원칙 (SOLID)

SRP (Single Responsibility Principle) : 단일 책임 법칙

클래스는 단 하나의 책임을 가져야 하며, 변경하는 이유는 단 하나의 이유여야 한다.

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

확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다

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

상위 타입의 객체를 하위 타입의 객체로 치환해도 상위 타입을 사용하는 프로그램은 정상 작동해야한다

ISP (Interface Segregation Principle): 인터페이스 분리 법칙

인터페이스는 그 인터페이스를 사용하는 클라이언트로 부터 분리해야한다.

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

고수준 모듈은 저수준 모듈의 구현에 의존해서는 안된다.

3. OOP 의 장-단점

장점

  • 코드의 재사용성이 높다
  • 코드의 관리가 용이하다
  • 신뢰성 높은 프로그래밍이 가능하다

단점

  • 객체가 상태를 갖게 되어 해당 변수로 인해 객체가 에측할 수 없는 상태를 갖게 될 경우 애플리케이션 내부에서 버그를 발생시킨다. 이런 단점으로 함수형 패러다임이 주목받고 있다.

추가로 공부할 부분

함수형 프로그래밍이란?

profile
조급해 하지 말고 한 계단 한 계단 오르기

0개의 댓글