TIL 3 | 객체 지향 프로그래밍

Seon Kang choi·2021년 9월 22일
0

객체 지향 프로그래밍

객체 지향 프로그래밍이란 인간 중심적 프로그래밍이라 할 수 있다. 즉, 현실 세계를 프로그래밍으로 옮겨온다 라고 할 수 있다. 현실의 사물들을 객체라 보고 그 객체로부터 개발하고자 하는 프로그램 특징들을 프로그래밍하는 것이다.

객체 지향 프로그램으로 코딩을 하면 코드의 재사용성이 높아 자주 사용되는 로직은 신뢰성을 확보하여 라이브러리로 만들어 계속 사용할 수 있다. 이렇게 라이브러리를 사용하는데 있어 예외 사항을 잘 처리하면 컴파일에서 버그를 잡아낼 수 있고, 개발자는 믿고 사용 할 수 있어 생산성이 높아진다.

  • 객체 지향 설계 원칙
  1. SRP(Single Responsibility Prinsiple) : 단일 책임 원칙
    객체는 자신만이 제공할 수 있는 기능에 책임을 가진다. 그리고 객체가 갖는 책임은 작을수록 좋다. 객체에 많은 기능이 포함되면 절차지향 방식과 다를바가 없다. 따라서 책임의 크기는 작을수록 유연해진다.

  2. OCP(Open-Closed principle) : 개방-폐쇄 원칙
    확장에는 열려 있고, 변경에는 닫혀 있어야 한다. 변경을 위한 비용은 줄이고, 확장을 위한 비용은 극대화 한다.

  3. LSP(Liskov Substitution Principle) : 리스코프 치환 원칙
    상위 타입의 객체를 하위 타임의 객체로 치환해도 상위 타입을 사용하는 프로그램은 정상적으로 동작해야 한다.

  4. ISP(Interface Segregation Principle) : 인터페이스 분리 원칙
    인터페이스를 사용하는 클라이언트를 기준으로 분리해야 한다. 클라이언트가 인터페이스의 일부만 사용한다면 클라이언트는 사용하지 않는 기능도 구현 해야 한다. 이럴때 인터페이스를 분리하여 클라이언트가 필요한 기능만 전달한다.

  5. DIP(Dependency Inversion Principle) : 의존 역전 원칙
    상위 모델은 하위 모델을 의존하면 안된다. 추상화에 의존해야 한다.
    추상화는 세부 사항에 의존하면 안된다. 세부사항은 추상화에 따라 달라진다.

profile
유쾌한 개발 생활~

0개의 댓글