단일 책임 원칙 (Single Responsibility Principle, SRP)은 객체 지향 설계의 핵심 원칙 중 하나입니다. 이 원칙은 클래스나 모듈은 단 하나의 책임만 가져야 하며, 그 책임에 대해서만 변경되어야 한다는 것을 말합니다. 각 클래스는 하나의 기능
개방-폐쇄 원칙(Open/Closed Principle, OCP)은 소프트웨어 설계의 핵심 원칙 중 하나로, 로버트 C. 마틴과 버트란드 마이어가 제안한 원칙입니다. 이 원칙은 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 변경에는 폐쇄적이
리스코프 치환 원칙 (Liskov Substitution Principle, LSP)은 객체 지향 설계 원칙 중 하나로, 바바라 리스코프(Barbara Liskov)가 1987년에 제안했습니다. 이 원칙은 상위 타입의 객체를 하위 타입의 객체로 치환해도 프로그램의 동작
인터페이스 분리 원칙(Interface Segregation Principle, ISP)은 로버트 C. 마틴이 제안한 객체 지향 설계의 중요한 원칙 중 하나입니다. 이 원칙은 클라이언트가 자신이 사용하지 않는 메서드에 의존하지 않도록 인터페이스를 분리해야 한다는 것을
의존성 역전 원칙(Dependency Inversion Principle, DIP)은 객체 지향 설계의 중요한 원칙 중 하나로, 로버트 C. 마틴이 제안했습니다. 이 원칙은 고수준 모듈이 저수준 모듈에 의존해서는 안 되며, 이 둘 다 추상화에 의존해야 한다는 것을 의미
아래 코드는 User 클래스가 사용자 정보 관리, 데이터 저장, 이메일 전송의 여러 책임을 모두 가지고 있습니다.아래 코드는 각 클래스가 하나의 책임만 가지도록 분리되었습니다.유지보수성: User 클래스가 여러 가지 책임을 가지므로, 변경이 발생할 때마다 클래스의 다른
개방-폐쇄 원칙(Open-Closed Principle, OCP)은 소프트웨어 엔티티(클래스, 모듈, 함수 등)가 확장에는 열려 있어야 하지만 수정에는 닫혀 있어야 한다는 원칙입니다. 이 원칙을 적용하지 않은 코드와 적용한 코드를 Java로 작성하여 비교해 보겠습니다.
리스코프 치환 원칙(Liskov Substitution Principle, LSP)은 자식 클래스가 부모 클래스의 기능을 모두 대체할 수 있어야 한다는 원칙입니다. 즉, 부모 클래스 객체를 자식 클래스 객체로 대체해도 프로그램의 기능이 정상적으로 작동해야 합니다. 이를
인터페이스 분리 원칙(Interface Segregation Principle, ISP)은 클라이언트가 자신이 사용하지 않는 메서드에 의존하지 않도록 하는 원칙입니다. 이는 인터페이스를 더 작고 구체적인 것으로 나누어 클라이언트가 자신에게 필요한 메서드만 사용하도록 설
의존성 역전 원칙(Dependency Inversion Principle, DIP)은 고수준 모듈이 저수준 모듈에 의존해서는 안 되며, 둘 다 추상화에 의존해야 한다는 원칙입니다. 이를 통해 코드의 유연성과 재사용성을 높일 수 있습니다.아래 코드는 고수준 모듈이 저수준