OOP 객체지향 프로그래밍

SOLID 원칙

  • 참고링크 : https://www.youtube.com/watch?v=wGWrOpRdu40

단일 책임 원칙 Single Responsibility Principle

  • 하나의 클래스는 하나의 책임만 갖는다

개방 폐쇄 원칙 Open / Closed Principle

  • 원본코드를 수정하지 않고 새로운 기능을 추가할 수 있어야한다

리스코프 치환 원칙 Liskov’s Cubstitution Principle

  • 파생클래스가 기본클래스를 대체할수 있어야한다. 상속의 기본 원칙

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

  • 인터페이스를 사용시 한꺼번에 사용하지 말고 작은단위로 분리하여 사용하라

의존성 역전 원칙 Dependency Inversion Principle

  • 고수준 모듈이 저수준 모듈에서 직접 가져오면 안된다.

  • O : Loose coupling, high cohesion
  • X : High coupling, low cohesion
public Interface ISwitchable{
    public void Deactivate();
}
public class Door : MonoBehaviour, ISwitchable{
    private bool isActive;
    public bool IsActive => isActive;
    public void Deactivate(){
        Debug.Log("door close");
    }
}
public class Switch : MonoBehaviour{
    public ISwitchable client;
    public void Toggle(){
        client.Deactivate();
    }
}