어떤 공부를 해야지 더 성장을 할 수 있을까에 대한 고민이 많았는데 적당한 공부거리를 발견한 것 같습니다. 정리를 잘해보고 알맞는 예제 코드도 찾아보고 작성해보겠습니다. 감사합니다.
Effective Java 아이템 1의 내용을 정리한 글입니다.생성자 대신 정적 팩터리 메서드를 고려하라.보통 자바에서 객체를 생성할 때, new keyword를 통해서 생성합니다.하지만 모든 프로그래머가 알아둬야할 기법이 있습니다. 클래스는 생성자와 별도로 정적 팩터
정적 팩토리 메서드와 생성자 둘 다 제약이 하나 있습니다. 선택적 매개변수가 많을 때 적절히 대응하기 어렵다는 것입니다. 빌더 패턴 이외의 방법들을 우선 살펴보겠습니다.매개변수가 많을 경우, 프로그래머들은 점층적 생성자 패턴(telescoping constructor
Effective Java 3판의 Private 생성자나 열거 타입으로 싱글턴임을 보장하라 Item 3을 참고해서 Singleton을 정리해보겠습니다.다른 디자인 패턴은 몰라도 대부분의 개발자는 Singleton이 무엇인지는 잘 알고 있을 것이라 생각합니다.오직 하나의
간혹 정적 메서드와 정적 필드만을 담은 클래스를 만들고 싶을 때가 있습니다.e.g java.util.Collecitons, java.util.Arrays이러한 정적 맴버만 담은 유틸리티 클래스는 인스턴스로 만들어 쓰려고 설계된 것이 아니기 때문에 의도되지않은 인스턴스화
아마 IoC or DI 컨테이너 프레임워크를 한번 쯤 개발자들이 사용해봤을 것입니다. 각 클래스간에 의존성을 framework 수준에서 관리하게 해주는 프레임워크의 근간은 이번에 소개할 의존 객체 주입이라는 간단하면서도 강력한 방법입니다.아마 기초 수준의 프로그래밍에서
개발자가 가져야할 중요한 소양 중 하나로 중복을 피하는 것. 즉, 불필요한 것을 만들지 않아야하는 것에 관련된 내용입니다.이펙티브 자바 3판의 아이템 6에 대한 내용입니다.똑같은 객체를 매번 생성하기 보다는 객체 하나를 재사용하는 편이 나을 때가 많습니다.재사용은 빠르
자바에서는 메모리관리는 개발자가 아닌 GC(Gabage Collector)가 처리해줍니다. 하지만 전혀 메모리관리에 신경쓰지 않아도 된다고 오해해서는 안됩니다. 스택을 구현한 간단한 코드를 보겠습니다.위 코드는 왠만한 테스트는 모두 통과할 것 같습니다.(그만큼 간단하니
Effective Java Item 26 Raw type은 사용하지말라에 대한 내용 정리입니다.우선 제네릭 클래스 혹은 제네릭 인터페이스에 대한 정의부터하겠습니다. 클래스와 인터페이스 선언에 타입 매개변수(type parameter)가 쓰이면, 이를 제네릭 클래스 혹은
Effective Java Item 27 비검사 경고를 제거하라에 대한 내용을 정리하겠습니다.소프트웨어 개발을 하다보면 어떤 언어이든 프레임워크든 항상 마주치는 warning들이 있습니다. 너무 많은 warning을 다양한 레벨에서 쏟아내서 보기 힘들 정도도 있습니다.
Effective Java Item 28이번 주제는 Java언어에 국한 되지않고 정말 중요한 내용이 많이 있습니다개발을 하다가 한번쯤은 고민해볼만한 주제인 Array와 List 둘 중 무엇을 써야할까입니다. 언제 List를 써야하고 언제 Array를 왜 사용해야할 지
Effective Java 3판 Item18 상속보다는 컴포지션을 사용하라 흔히 OOP를 공부하다보면 상속을 사용하면 코드 재사용성을 높일 수 있다는 내용을 많이 접해온다. 하지만 상속을 잘못 사용할 경우 오류를 내기 쉬운 소프트웨어를 만들게 된다.여기서 말하는 구현