켄트백의 구현패턴-컬렉션(1)
컬렉션컬렉션의 개념은 여러가지 메타포를 혼합한 것이다. 과거 컬렉션과 유사한 행위는 자료구조 자체에 링크를 넣는 방식으로 구현 컬렉션은 프로그래밍에 있어 가장 근본적인 변형인 몇 개의 데이터를 사용하느냐를 표현한다는 점에서 중요하다.로직의 변경은 조건문이나 다형성 메시 ...
Read more
켄트백의 구현패턴-메소드(4)
메소드컬렉션 접근자 메소드컬렉션에 대한 접근을 어떻게 제공할꺼냐? 간단한 방법은 getter 메소드를 제공해주는것인데 반환 하기전에 수정할수 없는 컬렉션으로 반환 하는것이다. 만약 하나씩 접근한다면 순차열람자를 반환하는 메소드를 제공해라 불린 설정 메소드불린 살태를 설 ...
Read more
켄트백의 구현패턴-메소드(3)
메소드오버라이드오버라이드를 사용하면 변형 메소드를 명확하게 표현할 수 있다상위 클래스에서 메소드를 abstract로 선언 했다면 이는 하위클래스에서 연산을 특화하라는 뜻이다. super.method() 이런식에 호출을 해서 사용할수있지만 하위 클래스의 같은 이름에 메소 ...
Read more
켄트백의 구현패턴-메소드(2)
메소드조합 메소드추상화 수준이 비슷한 메소드 호출로 하나의 메소드를 구성 읽기좋은 메소드의 길이 5~15줄을 넘어가면 안된다고 한다.전체 구조를 읽을때는 긴메소드가 좋다 하지만 세부사항을 이해하려할때 긴메소드는 방해가 된다. 메소드의 크기를 결정하는 다른 요소는 특화 ...
Read more
켄트백의 구현패턴-메소드(1)
메소드로직은 하나의 덩어리가 아닌 여러 개의 메소드로 구성된다.개념적으로 임의의 프로그램은 복잡한 제어 흐름이 들어 있는 커다란 루틴이라 볼수 있다. 가장 큰 문제는 코드를 읽기 어렵다는 것이다. 거대한 루틴으로 작성하면 코드 재사용이 어렵다.프로그래밍 도중에 같은 기 ...
Read more
켄트백의 구현패턴-행위
행위행위를 표현하는 패턴 제어흐름 - 연산의 여러 단계로 나타낸다. 주요흐름 - 주요제어 흐름을 명확하게 표현 메시지 - 메시지를 보내서 제어 흐름을 표현 선택 메시지 - 여러 선택 사항을 나타내기 위해 메시지 구현자를 다양화 더블 디스패치 - 두가지 축으로 메시지 ...
Read more
켄트백의 구현패턴-상태(2)
상태지역 변수지역 변수는 사용되기 직전에 가급적 최소 범위내에서 선언하라. 지역변수의 역할 컬렉터 - 이후 사용을 위한 정보를 모은다. 카운터 - 특정 객체의 수를 저장하는 특수 컬렉터 설명 - 복잡한 표현을 해야 하는 경우, 표현 내용을 지역 변수에 저장하면 독자가 ...
Read more
켄트백의 구현패턴-상태(1)
상태객체는 외부에 드러나는 행위와 행위를 지원하기 위한 상태를 묶어주는 편리한 단위다. 상태 - 시간에 따라 변화하는 값을 사용하여 연산 접근 - 상태에 대한 접근을 제한해서 유연성을 조절 직접 접근 - 객체 내의 상태를 직접 접근 간접 접근 - 좀더나은 유연성을 위 ...
Read more
켄트백의 구현패턴-클래스(2)
클래스하위클래스이 객체는 상위클래스와 같다. 이 부분만 제외 하면… 라고 말하는거와 같다. 하위 클래스의 문제점 일단 사용하면 되돌리기 어렵다. 하위 클래스를 이해하기 위해서 상위 클래스를 이해해야 한다. 하위 클래스가 상위 클래스 세부 구현 특성에 의존할 수 있으므 ...
Read more
켄트백의 구현패턴-클래스(1)
클래스플라톤은 현실 세계에 존재하는 것은 클래스의 인스턴스일 뿐이라고 이야기했다. 클래스 - “이 데이터들은 함께 사용되는데, 그에 관련된 로직이 이것이다.” 단순한 상위클래스 이름 - 클래스 계층의 최상위에 위치하는 클래스 이름은 단순하게 짓는다. 한정적 하위클래스 ...
Read more