TIL 4

디자인 패턴 - 전략 패턴 (Strategy Pattern)

전략 패턴 또는 정책 패턴이라고 하며 이는 실행 중에 알고리즘을 선택할 수 있게 하는 패턴 예를 들어 과일 매장에서 상황에 따른 가격할인 정책을 적용하고 있다고 가정한다. 1. 매장에 들어온 첫번째 손님 할인정책 2. 저녁시간대에 신선도가 떨어진 과일에 대한 할인정책 public class Calculator { public int calculate(boolean firstGuest, List items) { int sum = 0; for (Item item: items) { if (firstGuest) { sum += (int) (item.getPrice() * 0.9); } else if (!item.isFresh()) { sum += (int) (item.getPrice() * 0.8); } els..

디자인 패턴이란?

객체지향 설계는 소프트웨어로 해결하고자 하는 문제를 다루면서 동시에 재설계 없이 또는 재설계를 최소화 하면서 요구 사항의 변화를 수용할 수 있도록 만들어준다. 이렇듯 객체 지향 설계를 하다보면 이전과 비슷한 상황에서 사용했던 설계를 재사용 하는경우가 종종 발생 하는데, 이렇게 반복적으로 사용되는 설계는 클래스, 객체의 구성, 객체간 메시지 흐름에서 일정 패턴을 갖는다. 이러한 패턴은 다음과 같은 장점을 가진다. 1. 상황에 맞는 올바른 설계를 더 빠르게 적용할 수 있다. 2. 각 패턴의 장단점을 통해서 설계를 선택하는데 도움을 얻을 수 있다. 3. 설계 패턴에 이름을 붙임으로써 시스템의 문서화, 이해, 유지보수에 도움을 얻을 수 있다. 출처 : 개발자가 반드시 정복해야할 객체 지향과 디자인 패턴

객체 (Object)

1. 객체의 핵심은 기능을 제공하는것 객체 지향의 가장 기본은 객체이다. 앞서 객체는 데이터와 그 데이터를 조작하는 프로시저 로 구성된다라고 했지만,실제로 객체를 정의 할때 사용되는것은 객체가 제공해야할 기능이며, 객체가 내부적으로 어떤 데이터를 갖고있는 지로는 정의 되지 않는다. * 소리크기 객체 1. 소리 크기 증가 2. 소리 크기 감소 3. 음 소거 만약 소리크기 제어 객체가 있다고 가정 시 내부적으로 소리 크기를 어떤 데이터 타입 값으로 보관하는지는 중요하지 않다. 또한 실제로 객체가 어떻게 소리 크기를 증가시키거나 감소시키는지는 알 수없다. 단지 소리크기 제어 객체는 1. 소리 크기 증가 2. 소리크기 감소, 3. 음 소거 3개의 기능을 제공한다. 2. 인터페이스와 클래스, 메시지 객체는 객체가..

TIL/객체지향 2020.11.17

객체지향, 절차지향 이란?

소프트웨어를 구현한다는것은 최정적으로는 소프트웨어를 구성하는 데이터와 데이터를 조작하는 코드를 작성하는것! 1. 절차 지향이란? : 데이터를 조작하는 코드를 별도로 분리해서 함수나 프로시저와 같은 형태로 만들고, 각 프로시저들이 데이터를 조작하는 방식으로 코드를 작성할 수 있을것이다. 프로시저는 다른 프로시저를 사용할 수도 있고, 각각의 프로시저가 같은 데이터를 사용할 수도 있다. 이렇게 프로시저로 프로그램을 구성하는 기법을 절차지향 프로그램이라 부른다. 각 프로시저는 데이터를 사용해서 기능을 구현하며, 필요에 따라 다른프로시저를 사용하기도 한다. 최초 프로그램 작성은 데이터에 따라 프로시저를 만드므로 쉬울수는 있으나, 데이터가 늘어나고, 타입이 변경이 되어지 서로 연관되어있는 프로시저 들을 모두 수정해..

TIL/객체지향 2020.10.15