[TIL] 2022-01-15

nathan·2022년 1월 16일
0

TIL

목록 보기
11/34

객체지향 프로그래밍2

SOLID 원칙 (객체지향 개발 5대 원칙)

  • Single Responsiblity Principle (단일 책임 원칙)
  • Open-closed Principle (열림-닫힘 원칙)
  • Liskov Substution Principle (리스코프 교환 원칙)
  • Interface Segregation Principle (인터페이스 분리 원칙)
  • Dependency Inversion Principle (의존 역전 원칙)

Single Responsiblity Principle (단일 책임 원칙)

  • 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임(기능)을 완전히 캡슐화해야 함을 일컫는다.
  • 클래스가 제공하는 모든 기능은 이 책임과 부합해야한다.
  • 책임이 많아지면, 클래스 내부 메서드끼리 강한 결합이 발생하여, 유지보수에 드는 비용이 증가한다.

Open-closed Principle (열림-닫힘 원칙)

  • 개방 폐쇄 원칙이라고도 하며, 확장에는 열려있고, 변경에는 닫혀있어야하는 원칙을 의미한다.

Liskov Substution Principle (리스코프 교환 원칙)

  • 상위 타입의 객체를 하위 타입의 객체로 치환해도 상위 타입을 사용하는 프로그램은 정상적으로 동작해야함을 의미하는 원힉이다.
  • 다형성에 관한 원칙이라고 볼 수 있다.

Interface Segregation Principle (인터페이스 분리 원칙)

  • 한 클래스는 자신이 사용하지 않는 인터페이스를 구현하지 않아야 한다.
  • 하나의 일반적인 인터페이스보다는 여러 개의 구체적인 인터페이스가 낫다.
  • 즉, 영향을 받지 않는 인터페이스는 구현을 자제해야 한다는 의미.

Dependency Inversion Principle (의존 역전 원칙)

  • 의존 관계를 맺을 때, 변화하기 쉬운 것보단 변화하기 어려운 것에 의존해야 한다.
  • 변화하기 어려운 것이란, 추상적인 것을 말한다.(추상클래스나 인터페이스를 의미)

오늘을 마치며..

  • 오늘 JK 수업에서 객체지향 프로그래밍의 역사와 여러 관점에 관해서 들을 수 있어 좋았다.
  • 몸 상태가 그렇게 좋지않아 집중력이 최대치는 아니었어서 아쉬울 따름이었다.
  • 몸 관리를 잘 하는 것도 마스터즈 코스를 잘 수행하는 데에 필요한 부분이라고 느꼈다.
  • 조원들의 코드리뷰에 조금 더 집중하고 싶다.(물론 내 코드도 더 잘 설명할 수 있는 날이 오리라 믿는다.)

Reference

profile
나는 날마다 모든 면에서 점점 더 나아지고 있다.

0개의 댓글