clearn code (2) 썸네일형 리스트형 클래스를 잘 설계하기 #9 목차 캡슐화되어야 한다. 단일 책임 원칙 낮은 결합도, 높은 응집도 변경하기 쉬워야 한다. 캡슐화되어야 한다. 객체의 실제 구현을 오부로부터 감추는 방식 클래스를 개발할 때 기본적으로 구현을 감추고, 외부 객체와 상호작용하는 부분만 노출한다. 외부의 잘못된 사용을 방지한다. 경계에서 배웠던 부분! Map Stack 예제 필드를 private로 제한, get 으로 읽기 수정은 push, pop 메서드를 통해서 일어나도록 제한 class Stack { class Node { private T data; private Node prev; Node(T data) { this.data = data; } } private Node top; public void push(T data) { Node node = new.. 모호한 경계를 구분짓기 #7 목차 경계 경계 짓기 (1) 우리 코드를 보호하기 경계 짓기 (2) 외부 코드와 호환하기 외부 라이브러리 테스트하기 - Learning Test 경계 오픈소스, 라이브러리를 안쓰는 프로젝트는 없다. 우리가 만든 코드에 외부에서 들어온 코드를 병합해야 한다. 외부 코드는 외부에서 만든 코드인데, 외부 시스템과 호출하거나 단순히 외부에서 만들어진 코드일 수 있다. 우리 코드와 외부코드를 깔끔하게 통합시키기 위해 경계를 잘 지어야 한다. 경계 짓기(1) 우리 코드를 보호하기 캡슐화(Encapsulation) 객체의 실제 구현을 외부로부터 감추는 방식 우리 코드를 보호하기 Sensor 를 관리하고 싶다. Sensor는 외부에서 사용된다. Sensor id와 Sensor 객체로 저장하고 싶어서, Map을 사용한다.. 이전 1 다음