본문 바로가기
WIL

23.06.04

by J1-H00N 2023. 6. 4.

개인과제를 필수요건과 추가 요건들을 추가해 정상적으로 작동하는 것을 확인하며 성공적으로 마무리하고, 토요일부터 팀과제를 진행하게 되었다. 일단 주말동안 메모장의 완성을 목표로 하고 지금은 메모장의 수정과 조회만을 완성한 상태다.

 

다음주의 목표는 키오스크에 추가 기능을 구현하거나 호텔 예약 시스템을 자바로 구현하는 것 중 선택하는 것인데 아직 메모장의 완성을 못 해 내일 선택할 예정이다. 뭘 선택하게 되든 최선을 다해 기간 안에 완성을 목표로 하고, 그 목표를 원활하게, 객체지향적으로 이루기 위해 오늘은 객체지향 프로그래밍의 설계 5대 원칙인 SOLID에 대해 알아볼 생각이다. 

S : Single Responsibility Principle = 단일 책임 원칙

  • 하나의 클래스는 하나의 책임만 가져야 한다.
  • 여기서 책임이란 기능과 유사한 의미를 가진다.
  • 즉, 하나의 클래스가 너무 복잡하게 여러 기능을 가지지 않고 하나의 기능만 수행하도록 하는 것이다.

O : Open Closed Principle = 개방 폐쇄 원칙

  • 기능을 추가할 때는 기존의 코드를 변경하지 않고도 추가할 수 있게 만들어야 된다.
  • 확장에는 열려 있으나 변경에는 닫혀있어야 한다.
  • 상속을 활용

L : Liskov Substitution Principle = 리스코브 치환 원칙

  • 상위 타입의 객체를 사용하다가 이를 상속받은 하위 객체로 사용을 해도 정상작동해야 한다.
  • = 하위 객체는 상위 객체를 대체할 수 있어야 한다.
  • 이게 안된다면, 애초게 상속을 받지 말고 새로운 객체를 생성해야 한다.

I : Interface Segregation Principle = 인터페이스 분리 원칙

  • 하나의 클래스가 인터페이스를 구현할 때 큰 범위의 범용 인터페이스를 구현하는 것보다 작고 구체적인 특정 클래스를 위한 인터페이스 여러개가 낫다.

D : Dependency Inversion Principle = 의존관계 역전 원칙

  • 다를 객체를 호출해서 사용(의존)할 때는 일반적이고 추상적인 것에 의존해야 한다.
  • 추상화에 의존하고, 구체화에 의존하면 안된다.

'WIL' 카테고리의 다른 글

23.07.02  (0) 2023.07.02
23.06.25  (0) 2023.06.26
23.06.18  (0) 2023.06.18
23.06.11  (0) 2023.06.11
23.05.28  (0) 2023.05.28