[Effective Java] 아이템4 인스턴스화를 막으려거든 private 생성자를 사용하라

    [Effective Java] 아이템4 인스턴스화를 막으려거든 private 생성자를 사용하라

    https://book.naver.com/bookdb/book_detail.nhn?bid=14097515 이펙티브 자바 자바 플랫폼 모범 사례 완벽 가이드 - JAVA 7, 8, 9 대응자바 6 출시 직후 출간된 『이펙티브 자바 2판』 이후로 자바는 커다란 변화를 겪었다. 그래서 졸트상에 빛나는 이 책도 자바 언어와 라이브 book.naver.com 이 글은 이펙티브 자바 Effective Java를 읽고 희미한 기억을 또렷한 기록으로 바꾸기 위해 작성했습니다 들어가기 전에 객체가 JVM이 관리하는 메모리에 할당되어 실제 생성된 것을 인스턴스라고 한다. 인스턴스화는 클래스로 객체를 생성하는 과정 인스턴스를 만들 수 없는 클래스 단순히 정적 메소드와 정적 필드만을 담은 클래스를 만들고 싶을 때 java...

    [Effective Java] 아이템3 private 생성자나 열거 타입으로 싱글턴임을 보증하라

    [Effective Java] 아이템3 private 생성자나 열거 타입으로 싱글턴임을 보증하라

    https://book.naver.com/bookdb/book_detail.nhn?bid=14097515 이펙티브 자바 자바 플랫폼 모범 사례 완벽 가이드 - JAVA 7, 8, 9 대응자바 6 출시 직후 출간된 『이펙티브 자바 2판』 이후로 자바는 커다란 변화를 겪었다. 그래서 졸트상에 빛나는 이 책도 자바 언어와 라이브 book.naver.com 이 글은 이펙티브 자바 Effective Java를 읽고 희미한 기억을 또렷한 기록으로 바꾸기 위해 작성했습니다 들어가기 전에 싱글턴(singleton) 인스턴스를 오직 하나만 생성할 수 있는 클래스 싱글턴의 전형적인 예로는 함수(static 메소드)와 같은 무상태 객체나 설계상 유일해야 하는 시스템 컴포넌트 등 클래스를 싱글턴으로 만들면 이를 사용하는 클라..

    [Effective Java] 아이템2 생성자에 매개변수가 많다면 빌더를 고려하라

    [Effective Java] 아이템2 생성자에 매개변수가 많다면 빌더를 고려하라

    https://book.naver.com/bookdb/book_detail.nhn?bid=14097515 이펙티브 자바 자바 플랫폼 모범 사례 완벽 가이드 - JAVA 7, 8, 9 대응자바 6 출시 직후 출간된 『이펙티브 자바 2판』 이후로 자바는 커다란 변화를 겪었다. 그래서 졸트상에 빛나는 이 책도 자바 언어와 라이브 book.naver.com 이 글은 이펙티브 자바 Effective Java를 읽고 희미한 기억을 또렷한 기록으로 바꾸기 위해 작성했습니다 들어가기 전에 클래스의 필수 매개변수와 선택 매개변수가 있다고 가정해봅시다. 자 그러면 클래스의 인스턴스를 만들 때 필수 매개변수에는 값이 있어야 하고 선택 매개변수에는 값이 있을 수도 없을 수도 있습니다. 이럴 때 생성자에 매개변수가 많으면 어떻..

    [Effective Java] 아이템1 생성자 대신 정적 팩토리 메서드를 고려하라

    [Effective Java] 아이템1 생성자 대신 정적 팩토리 메서드를 고려하라

    https://book.naver.com/bookdb/book_detail.nhn?bid=14097515 이펙티브 자바 자바 플랫폼 모범 사례 완벽 가이드 - JAVA 7, 8, 9 대응자바 6 출시 직후 출간된 『이펙티브 자바 2판』 이후로 자바는 커다란 변화를 겪었다. 그래서 졸트상에 빛나는 이 책도 자바 언어와 라이브 book.naver.com 이 글은 이펙티브 자바 Effective Java를 읽고 희미한 기억을 또렷한 기록으로 바꾸기 위해 작성했습니다 이해가 안 되는 부분은 좀 더 명확하게 알고자 백기선님의 이펙티브 자바 유튜브를 통해 이해했습니다 들어가기 전에 이 책의 규칙은 명료성과 단순성이다. 코드는 복사되는 게 아니라 재사용되어야 한다. 컴포넌트 사이의 의존성은 최소로 유지해야 한다. 오..

    [프로그래머의 뇌] 변수의 역할

    [프로그래머의 뇌] 변수의 역할

    코드에서 변수는 중요한 역할을 합니다. 처음 코드를 스캔할 때 이 변수가 어떤 의미인지 추론하게 되고 어떤 역할을 하는지 알 수 있기 때문입니다. 단순히 그렇게만 생각하고 있었는데, 이 책을 읽던 중 요르마 사야니에미 교수가 정의한 11개의 역할을 알게 되었고, 각 변수가 어떤 역할을 하는지 정리를 해준다. 코드에서 변수 이름에 역할명을 포함하면 변수명이 길어진다는 단점이 있지만 변수에 중요한 정보를 전달할 수 있고, 코드를 읽을 개발자가 변수의 역할을 파악할 때 수고로움을 덜 수 있습니다. 요르마 사야니에미 교수에 따르면, 변수를 이해하기 어려운 이유는 대부분의 프로그래머가 변수를 연관 지을 스키마를 자신들의 LTM에 가지고 있지 않기 때문입니다. 우리는 너무 구체적인 변수명 또는 너무 적은 것을 포함..

    개발자에서 아키텍트로 #3 -설계-전략-고안하기

    개발자에서 아키텍트로 #3 -설계-전략-고안하기

    3장 설계 전략 고안하기 단단한 설계 전략을 가지면 폭풍 속에서도 정해진 길을 걷는 기분이다. 디자인 싱킹은 단번에 정답을 만들기보다는 학습과 실험을 중요시한다. 3.1 만족스럽게 설계하기 이상적으로 해결해야 하는 문제를 온전히 정의한 후 이를 해결하는 완벽한 아키텍처를 설계할 수 있지만, 현실은 그렇지 않다. 시간, 돈, 기술 지식에서 발생한 이론적인 제약이 소프트웨어 아키텍처처럼 복잡한 문제를 합리적으로 설계하는 걸 어렵게 만든다고 하는데 이는 허버트 사이먼이 말하는 결박된 합리성이다. 그렇기 때문에 이성적인 판단만 하며 최적의 설계를 찾기보다는 만족감을 목표로 삼을 수 있어야 한다. 실험으로 해결하기 가설을 빠르고 저렴하게 평가할수록 이해관계자들이 만족할 만한 구조로 더 빨리 조합할 수 있고, 그만..