본문 바로가기

객체지향2

[GoF Design Pattern] 1. 전략(Strategy) 패턴 [GoF Design Pattern] 1. 전략(Strategy) 패턴 흔히 디자인 패턴이라고 말하면, GoF(Gang of Four)라 불리는 소프트웨어 공학자 4명이 구체화한 23개의 디자인 패턴을 말한다. 디자인 패턴은 모듈 단위가 아닌 클래스 레벨에서 설계를 하는 기교이며 다음과 같이 목적(클래스, 객체), 범위(생성, 구조, 행위)에 따라 구분하기도 한다. 생성 패턴(Creational Pattern) : 객체를 생성하는 방법에 대한 패턴들이다. 생성 로직을 숨기면서, 사용 목적에 따라 어떻게 객체를 생성할 지에 대한 유연성을 제공한다. 특히 객체의 생성과 조합을 캡슐화하여 객체의 생성 또는 변경과정에서 프로그램 구조가 영향받지 않도록한다. ex) 팩토리 메서드(Factory Method) 패.. 2023. 5. 14.
[Clean Code] 3. 객체와 자료구조 [Clean Code] 3. 객체와 자료구조 객체와 자료구조 : 자료 추상화 자료구조 : 구체적으로 데이터를 그대로 보여준다. 즉 데이터를 있는 그대로 표현하는 것으로, 쓸데없이 멤버변수를 private으로 하고 public 한 getter와 setter를 만드는 것은 매우 무의미한 행위 (이런 행위를 한다고 추상화가 된다고 착각해선 안된다.) public class Point { public double x; public double y; } public interface Vehicle { double getFuelTankCapacityInGallons(); double getGallonsOfGasoline(); } 객체 : 추상적인 개념으로 함수를 통해 자료를 설명한다. 이 객체를 사용하는 사용자는 .. 2023. 3. 17.