이끌든지 따르든지 비키든지

Software Development/Design Pattern 3

[Design Pattern] SRP(단일 책임 원칙)

객체지향적인 프로그램 설계 시 가장 중요하게 여겨지며 반드시 지켜야 하는 5가지 원칙이 있습니다. 이들 원칙의 첫 글자를 따서 SOLID 원칙이라고 부릅니다. 오늘은 그중 첫 번째인 단일 책임 원칙(Single Responsibility Principle, SRP)에 대해 알아보겠습니다. 단일 책임 원칙(Single Responsibility Principle, SRP) 단일 책임 원칙은 객체가 오직 하나의 책임만을 가져야 한다는 원칙을 의미합니다. 즉, 객체는 오직 하나의 변경 이유만을 가져야 합니다. 이는 하나의 클래스가 하나의 책임(기능)만을 담당하여 그 책임을 수행해야 한다는 의미로 해석될 수 있습니다. 현실 세계에서 맥가이버칼과 같은 다기능 도구는 여러 작업을 한 번에 해결할 수 있는 편리함을 ..

[Design Pattern] LSP(리스코프 치환 원칙)

LSP(Liskov Substitution Principle, 리스코프 치환 원칙)는 SOLID 원칙 중 하나로, 객체 지향 프로그래밍의 설계 원칙에 대한 중요한 개념이다. 이 원칙은 1987년 바바라 리스코프에 의해 처음 제안되어 리스코프 치환 원칙이라 부른다. 리스코프 치환 원칙 (Liskov Substitution Principle) 리스코프 치환 원칙은 "프로그램에서 부모 클래스의 인스턴스를 자식 클래스의 인스턴스로 대체(치환) 해도 프로그램의 정확성에 영향을 미치지 않아야 한다." 는 내용을 정의하는 원칙이다. 이 원칙은 자식 클래스(상속을 받은 클래스)가 부모의 클래스의 동작을 변경하지 않고, 확장해야 함을 말하며, 상속과 다형성을 적절하게 사용하는 방법에 대한 지침을 제공한다 볼 수 있다. ..

[Design Pattern] OCP(개방 폐쇄 원칙)

객체지향적인 프로그램을 설계할 때 가장 중요하고, 반드시 지켜야 할 5가지 원칙이 있다. 각 원칙의 앞글자를 따 SOLID 원칙이라 하는데, 오늘은 두 번째인 개방 폐쇄 원칙(Open-Closed Principle)에 대해 알아본다. 개방 폐쇄 원칙(Open-Closed Principle) 객체는 확장에 대해서는 개방적이고, 수정에 대해서는 폐쇄적이어야 한다는 원칙을 말한다. 확장에 개방적이다. 여기서 확장이란, 새로운 기능이나 동작의 추가를 말한다. 확장에 개방적이어야한다는 말은 새로운 기능을 추가하거나 기존의 기능을 확장할 때 기존 코드를 수정하지 않고 새로운 코드를 추가할 수 있어야 함을 의미한다. 수정에 폐쇄적이다. 기존의 코드는 수정을 피해야 한다. 기존 코드를 수정하면서 새로운 기능을 추가하거..