# EffectiveJava

76개의 포스트

아이템5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라

많은 클래스가 하나 이상의 자원에 의존합니다. 사용하는 자원에 따라 동작이 달라지는 경우 의존 객체 주입을 고려할 수 있습니다. 위의 SpellChecker는 spelling이 잘못됐는지 판단해주는 isValid메서드와 잘못됐을때 비슷한 단어를 추천해주는 sugges

약 11시간 전
·
0개의 댓글
·

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

클래스를 구현하다보면 인스턴스를 생성할 필요가 없는 경우가 가끔 있습니다. 위와 같이 정적 메서드만 담은 정적 유틸리티 클래스가 그런경우인데 보통 정적 유틸리티 클래스는 인스턴스를 생성해서 사용하도록 설계한 클래스가 아닙니다. 인스턴스 메서드를 생성하여 메서드를 호출하

어제
·
0개의 댓글
·

아이템 3. 생성자나 열거 타입으로 싱글턴임을 보증하라.

프로젝트를 진행하다보면 애플리케이션에서 여러 인스턴스가 필요하지 않은 경우가 종종 있습니다. 예를 들어서 게임의 설정같은 경우 게임의 밝기, 게임상에서 사용하는 언어의 종류와 같은 인스턴스는 하나만 있어도 됩니다. 이러한 경우에 싱글턴을 어떻게 보증해야할지 알아봅시다.

5일 전
·
0개의 댓글
·

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

위의 코드를 살펴보면 생성자에 선택적 매개변수가 많은 경우가 있습니다. 필수로 받아야 하는 값을 생성자의 인자로 받아서 강제성을 부여해서 만드는게 좋은데 필수가 아닌 선택적인 값들을 생성자의 인자로 받으려면 코드가 굉장히 지저분해지게 됩니다. 그래서 이러한 코드를 줄

7일 전
·
0개의 댓글
·

아이템1. 생성자 대신 정적 팩터리 메서드를 고려하라

보통 어떤 클래스의 인스턴스를 생성할 때 아래와 같이 생성자를 통해서 해당 인스턴스를 생성하게 됩니다. 근데 만약에 생성자를 통해서 product, prime의 값이 아니라 product, urgent를 생성자의 매개변수로 하는 인스턴스도 만들고 싶을 때 생성자를

2022년 9월 17일
·
0개의 댓글
·
post-thumbnail

Effective Java Item 13

안녕하세요, 이번 포스팅은 복제 관련 메서드인 clone입니다.여느때와 다름없이 구질구질한 여담으로 시작하겠습니다.개인적으로 성악설을 믿는 사람인지라, 대부분의 사람은 본능적으로 자기를 보호하기 위해 불의를 저지르는 경우가 많습니다. 하지만, 이것과 별개로 불의가 아닌

2022년 7월 31일
·
0개의 댓글
·
post-thumbnail

Effective Java Item 11

안녕하세요, 이번 포스팅은 직전 포스팅과 이어지는 hashCode입니다.요새 자주 느끼는 것이 있는데요, 본인이 중요하다 혹은 포기하지 않겠다라는 생각이, 나중에 바라보면 그렇게 굉장한 일이 아닐 수 있다고 생각이 듭니다.이것은, 평소 자신의 선택 뿐만아니라 사람 관계

2022년 7월 27일
·
0개의 댓글
·
post-thumbnail

Effective Java Item 10-2

Effective Java Item 10-1이전 포스팅에 이어, Object Equlas 명세 중 하나인 추이성 부터 포스팅을 시작하도록 하겠습니다.추이성은, A=B 이고, B=C이면, A=C라는 의미입니다.즉, 첫 번째 객체와 두 번째 객체가 같고, 두 번째 객체와

2022년 7월 24일
·
0개의 댓글
·
post-thumbnail

Effective Java Item 10-1

안녕하세요, 이번 포스팅은 가장 애매한 equals 입니다.저번 면접에서 관련 질문이 나왔는데, 애매하게 대답하여 혼났던 기억이 나네요.요새 직장에서의 위치가 가중해져서인지, 일이 많고 주말 작업도 많았네요.허리라인을 지탱하고 있다고 생각하고 열심히 달려야죠..흔히들

2022년 7월 22일
·
0개의 댓글
·
post-thumbnail

Effective Java Item 09

안녕하세요, 이번 포스팅은 저에게는 약간 생소한 주제입니다.바로 try-with-resources 입니다.마찬가지 여담으로 ㅎㅎㅎ...올해 초부터 개발바닥이라는 유튜브를 즐겨 보고있습니다.향로님과 호돌맨님께서 세계 최초 예능지향 Dev Entertaintment 토크쇼

2022년 7월 12일
·
0개의 댓글
·
post-thumbnail

Effective Java Item 07

안녕하세요, 이번 포스팅은 "다 쓴 객체 참조를 해제하라"라는 주제로 포스팅을 진행하도록 하겠습니다.여담으로, 영한님의 스프링 고급 강의를 마무리하고, 마지막에 중요한 말씀을 해주셨는데요.바로 "기술적 겸손함"입니다.주니어 개발자, 시니어 개발자 불문 모든 개발자들은

2022년 7월 6일
·
0개의 댓글
·

Effective Java Item 06

안녕하세요, 이번 포스팅은 조금 중요한 내용인 것 같습니다. (물론 다른 아이템도 중요합니다..)바로 불필요한 객체 생성을 피하라는 것인데요.바로 예시를 통해 알아보도록 하겠습니다.똑같은 기능의 객체를 매번 생성하는 것 보다, 객체 하나를 재사용하는 편이 좋은 경우가

2022년 7월 5일
·
0개의 댓글
·

Effective Java Item 05

안녕하세요, Item 04를 쓰고 7일만에 다시 포스팅을 하게 되었습니다.그간, 스프링의 묘리를 깨닫기 위해 많이 노력을 한 것 같습니다 ㅎㅎ프록시라는 개념을 알고, 다시 포스팅을 하니 무언가 유기적으로 연결되어 가는 느낌(?)이 드네요... 금일 포스팅은, 의존 객체

2022년 6월 21일
·
0개의 댓글
·

Effective JAVA Item 04

4. 인스턴스화를 막으려거든 private 생성자를 사용하라 안녕하세요, 이번 포스팅은 전 아이템 챕터의 핵심 요소인 private 생성자 파트입니다. 요즘 인프런에서 김영한님의 스프링 고급 강의를 듣고있는데, 마치 이펙티브 자바의 핵심 요소들을 쏙쏙 뽑아 실무에

2022년 6월 14일
·
0개의 댓글
·

Effective JAVA Item 03

안녕하세요, 이번 포스팅은 세번째 아이템인 싱글톤에 관련하여 포스팅을 하겠습니다.포스팅하기 앞서, 깃허브 커밋이나... 벨로그 활동을 약 사흘동안 하지 못했습니다.(아니 사실 안한겁니다...)연휴로 인해 본가인 대구로 내려가 좋은 시간을 보내고 왔습니다 ㅎㅎ재충전의 시

2022년 6월 7일
·
0개의 댓글
·

Effective JAVA Item 02

이전 Item 01에서 배운 정적 팩터리와, 생성자는 똑같은 제약이 하나 있습니다.바로, 선택적인 매개변수가 많을 경우입니다. 책에는 식품의 영양정보를 표현하는 클래스를 설명하고 있습니다. 영앙정보는 1회 내용량, 총 n회 제공량, 1회 제공량당 칼로리 같은 필수 항목

2022년 6월 1일
·
0개의 댓글
·

Effective JAVA Item 01

클라이언트가 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자입니다.하지만, 정적 팩터리 메서드를 제공 할 수 있습니다. 이것은, 어려운것이 아닌 그 클래스의 인스턴스를 반환하는 단순한 Static Method 입니다.대표적인 예시로, 기본 타입의 boole

2022년 5월 31일
·
0개의 댓글
·
post-thumbnail

[Effective Java] 아이템 16 - public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라

java.awt.package 의 Point 클래스java.awt.package 의 Dimesion 클래스

2022년 5월 22일
·
0개의 댓글
·
post-thumbnail

[Effective Java] 아이템 15 - 클래스와 멤버의 접근 권한을 최소화하라

잘 설계된 컴포넌트\-> 모든 내부 구현을 완벽히 숨겨, 구현과 API를 깔끔히 분리함오지 API를 통해서만 다른 컴포넌트와 소통하며 서로의 내부 동작 방식에는 전혀 개의치 않음시스템 개발 속도를 높인다. \-> 여러 컴포넌트를 병렬로 개발할 수 있기 때문이다.시스템

2022년 5월 22일
·
0개의 댓글
·
post-thumbnail

[Effective Java] 아이템 12 - toString을 항상 재정의하라

간결하면서 사람이 읽기 쉬운 형태의 유익한 정보를 반환해야 한다.모든 하위 클래스에서 이 메서드를 재정의하라 객체를 println, printf, 문자열 연결 연산자, assert 구문에 넘길 때, 혹은 디버거가 객체를 출력할 때 자동으로 불린다 !!! \-> 즉, 직

2022년 5월 8일
·
0개의 댓글
·