less than 1 minute read

OOP 원칙

  1. SRP : 단일 책임 원칙

    객체는 오직 하나의 책임만을 가져야 함

    여러개의 책임을 가지게 되면 클래스의 목적이 모호해지고 하나의 수정을 하는데도 영향의 범위가 커져 유지보수가 힘들어짐. 즉 스파게티 코드화 됨

  2. OCP : 개방-폐쇄 원칙

  • 객체는 확장을 허용하고 스스로 변경은 피해야 함

    자식 클래스를 만며 클래스의 확장은 허용

    클래스 자체를 변경하는 것은 피함

  1. LSP : 리스코프 치환 원칙

    자식 클래스는 언제나 자신의 부모 클래스를 대체할 수 있어야 함

    상속의 본질

    지키지 않으면 부모 클래스의 의미가 변해서 is-a 관계가 망가져 다형성 지킬 수 없음

  2. ISP : 인터페이스 분리 원칙

    클라이언트에서 사용하지 않는 메서드를 사용해서는 안 됨

    인터페이스를 작게 나누어 만들어야 함

    두 개의 기능을 받는 하나의 인터페이스는 하나의 기능을 받는 하나의 인터페이스보다 리소스가 줄여짐.

  3. DIP : 의존성 역전 원칙

    추상성이 높고 안정적인 고수준의 클래스는 구체적이고 불안정한 저수준의 클래스에 의존해서는 안 됨

    객체지향의 인터페이스를 통해 이 원칙을 준수할 수 있음

    인터페이스를 구현한 클래스는 클라이언트에 어떤 변경도 없이 언제든 나중에 교체될 수 있음