TIL/Web Back

[Sparta] 내일배움캠프 WIL 1주차

헤르로우워르드 2024. 4. 28. 22:50
주요 공부
  • 객체지향에 대해
  • 다형성
  • 제네릭
  • 정규식
  • 멀티 쓰레드

 

객체지향의 5원칙

 

1. 단일 책임 원칙 (Single Responsiblity Principle)

모든 클래스는 각각 하나의 책임만 가져야 한다, 클래스는 그 책임을 완전히 캡슐화해야 함을

말한다

예시 : 사칙연산 메서드를 가지고 있는 계산 클래스가 있을 때,
단일책임원칙을 준수한 계산클래스는 오직 사칙연산 기능만을 가지고 있어야 한다,
이 클래스를 수정한다면 그 이유는 사칙연산 관련 메서드와 관련된 문제일 때만이어야한다

 

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

확장에는 열려있고 수정에는 닫혀있는, 기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록

설계가 되어야 한다는 원칙

예시 : 캐릭터를 하나 생성한다고 할때, 각각의 캐릭터가 움직임이 다를 경우 움직임의 패턴구현을
하위 클래스에 맡긴다면 캐릭터 클래스의 수정은 필요가 없고(close) 움직임의 패턴만 재정의 하면 된다.(open)

 

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

자식클래스는 언제나 자신의 부모 클래스를 대체할 수 있다는 원칙이다. 즉 부모 클래스가 들어갈 자리에

자식 클래스를 넣어도 계획대로 잘 동작해야 한다.

+ 자식클래스는 부모 클래스의 책임을 무시하거나 재저으이하지 않고 확장만 수행해야함

 

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

한 클래스는 자신이 사용하지않는 인터페이스는 구현하지 말아야 한다. 하나의 일반적인 인터페이스보다

여러개의 구체적인 인터페이스가 낫다.

 

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

의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운것,

거의 변화가 없는것에 의존하라는 것이다.

한마디로 구체적인 클래스보다 인터페이스나 추상 클래스와 관계를 맺으라는것!

 

다형성