본문 바로가기

객체지향8

"원시값 포장"에 대해 알아보자 서론 원시값 포장은 객체지향 생활체조로 유명한 소트웍스 앤솔러지에도 기록되어 있는 내용입니다. 원시값 포장을 하면 더욱 객체지향적으로 설계할 수 있다는데, 왜 그런 것일까요? 먼저 원시값 포장을 하기 전의 코드를 보겠습니다. public class Car { // 상수 등 기타 필드 private final String name; private Car(final String name) { this.name = name; } // 정적 팩터리 메서드 등 기타 다른 메서드들 public boolean isNameEqualTo(final String name) { return name.equals(this.name); } public String getName() { return this.name; } } 예.. 2023. 11. 1.
1장: 협력하는 객체들의 공동체 서문 객체지향을 흔히 실세계를 직접적이고 직관적으로 모델링 할 수 있는 패러다임으로 알고 있는 사람들이 많으나, 실세계의 모방이라는 개념은 객체지향의 기반을 이루는 철학적인 개념을 설명하는 데는 적합하지만 실용적인 관점에서 객체지향 분석, 설계를 설명하기에는 적합하지 않다. 방화벽을 예시로 들어보면, 소프트웨어 세상에서의 방화벽은 실제 방화벽과 다르게 불을 막는 것이 아니라 네트워크의 침입을 막는다. 이처럼 객체지향의 목표는 실세계를 모방하는 것이 아니라, 새로운 세계를 창조하는 것이다. 그럼에도 객체지향을 이런 방식으로 알고 있는 이유는 실세계에 대한 비유가 객체지향의 다양한 측면을 이해하고 학습하는 데 효과적이기 때문이다. 협력하는 사람들 커피 공화국에서의 예시: 커피 주문이라는 협력을 달성하기 위해.. 2023. 10. 31.