DESIGN PATTERN 2

[DESIGN PATTERN] STRATEGY PATTERN

전략 패턴은 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 전략이란, 어떤 목적을 달성하기 위해 일을 수행하는 방식 정도로 이해할 수 있다. 예제를 통해 전략패턴을 알아보자. public class Robot { private String name; public Robot(String name) { this.name = name; } public void move() { System.out.println("I can only walk"); } } 위와 같은 Robot 클래스가 있을 때, Robot은 걸어서 움직일 수 밖에 없다. 만약 Robot이 날 수도 있게 만들고 싶다면 어떻게 해야할까? public void move() { System.out.println("I can fly"); } 위와 ..

DESIGN PATTERN 2023.01.20

[DESIGN PATTERN] SOLID 원칙 (객체지향 5대원칙)

SRP(Single Responsibility Principle) 단일 책임 원칙 소프트웨어의 설계부품(클래스, 메서드 등)은 하나의 책임만 가질 수 있도록 설계해야한다. 책임은 기능으로 해석 설계를 잘한 프로그램은 새로운 요구사항이나 오류로 인한 변경 사항이 적다. 맡은 책임이 많아질수록 결합도가 높아지기 때문에 책임을 최소화하여 결합도를 낮추고 응집도를 높이는 것이 목표 OCP(Open-Closed Principle) 개방-폐쇄 원칙 기존 코드를 변경하지 않고 기능을 추가하거나 수정할 수 있도록 설계하여야한다. 자주 변경될 수 있는 것들은 수정하기 쉽게, 변경되지 않는 것들은 변화에 영향을 적게! 이를 위해 쓰는 것이 Interface 예를 들어, 러닝머신을 설계한다고하면 러닝머신 클래스의 필드로 사..

DESIGN PATTERN 2022.12.14