포스팅 썸네일 이미지

IT/Effective Java

[Effective Java 3/E] ITEM 43. 람다보다는 메서드 참조를 사용하라

*알림 : * Effective Java 3판은 Java 9까지 도입된 언어적 기능을 중심으로 서술되어 있습니다. 10버젼 이후의 Java 개발을 하시는 분들은 우회적인 접근법 대신 Java 언어 내 새로 도입된 기능이 더 간결하고 좋을 수 있습니다. 해당 포스팅은 SSAFY 내 책읽기 스터디의 활동을 통해 작성된 포스팅입니다. https://github.com/kjsu0209/JavaBook https://medium.com/javabook JavaBook – Medium Documentation space of our book study. medium.com kjsu0209/JavaBook 책읽기 스터디. Contribute to kjsu0209/JavaBook development by creati..

2021.04.14 게시됨

 포스팅 썸네일 이미지

IT/Effective Java

[Effective Java 3/E] ITEM 42. 익명 클래스보다는 람다를 사용하라

*알림 : * Effective Java 3판은 Java 9까지 도입된 언어적 기능을 중심으로 서술되어 있습니다. 10버젼 이후의 Java 개발을 하시는 분들은 우회적인 접근법 대신 Java 언어 내 새로 도입된 기능이 더 간결하고 좋을 수 있습니다. 해당 포스팅은 SSAFY 내 책읽기 스터디의 활동을 통해 작성된 포스팅입니다. https://github.com/kjsu0209/JavaBook https://medium.com/javabook JavaBook – Medium Documentation space of our book study. medium.com kjsu0209/JavaBook 책읽기 스터디. Contribute to kjsu0209/JavaBook development by creati..

2021.04.14 게시됨

 포스팅 썸네일 이미지

IT/Effective Java

[Effective Java 3/E] ITEM 41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라

*알림 : * Effective Java 3판은 Java 9까지 도입된 언어적 기능을 중심으로 서술되어 있습니다. 10버젼 이후의 Java 개발을 하시는 분들은 우회적인 접근법 대신 Java 언어 내 새로 도입된 기능이 더 간결하고 좋을 수 있습니다. 해당 포스팅은 SSAFY 내 책읽기 스터디의 활동을 통해 작성된 포스팅입니다. https://github.com/kjsu0209/JavaBook https://medium.com/javabook JavaBook – Medium Documentation space of our book study. medium.com kjsu0209/JavaBook 책읽기 스터디. Contribute to kjsu0209/JavaBook development by creati..

2021.03.28 게시됨

 포스팅 썸네일 이미지

IT/Effective Java

[Effective Java 3/E] ITEM 40. @Override Annotation을 일관적으로 사용하기

*알림 : * Effective Java 3판은 Java 9까지 도입된 언어적 기능을 중심으로 서술되어 있습니다. 10버젼 이후의 Java 개발을 하시는 분들은 우회적인 접근법 대신 Java 언어 내 새로 도입된 기능이 더 간결하고 좋을 수 있습니다. 해당 포스팅은 SSAFY 내 책읽기 스터디의 활동을 통해 작성된 포스팅입니다. https://github.com/kjsu0209/JavaBook https://medium.com/javabook JavaBook – Medium Documentation space of our book study. medium.com kjsu0209/JavaBook 책읽기 스터디. Contribute to kjsu0209/JavaBook development by creati..

2021.03.28 게시됨

 포스팅 썸네일 이미지

IT/Effective Java

[Effective Java 3/E] ITEM 39. 명명 패턴보다 애너테이션을 사용하라

*알림 : * Effective Java 3판은 Java 9까지 도입된 언어적 기능을 중심으로 서술되어 있습니다. 10버젼 이후의 Java 개발을 하시는 분들은 우회적인 접근법 대신 Java 언어 내 새로 도입된 기능이 더 간결하고 좋을 수 있습니다. 해당 포스팅은 SSAFY 내 책읽기 스터디의 활동을 통해 작성된 포스팅입니다. https://github.com/kjsu0209/JavaBook https://medium.com/javabook JavaBook – Medium Documentation space of our book study. medium.com kjsu0209/JavaBook 책읽기 스터디. Contribute to kjsu0209/JavaBook development by creati..

2021.03.28 게시됨

 포스팅 썸네일 이미지

IT/Effective Java

[Effective Java 3/E] ITEM 38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라.

*알림 : * Effective Java 3판은 Java 9까지 도입된 언어적 기능을 중심으로 서술되어 있습니다. 10버젼 이후의 Java 개발을 하시는 분들은 우회적인 접근법 대신 Java 언어 내 새로 도입된 기능이 더 간결하고 좋을 수 있습니다. 해당 포스팅은 SSAFY 내 책읽기 스터디의 활동을 통해 작성된 포스팅입니다. https://github.com/kjsu0209/JavaBook https://medium.com/javabook kjsu0209/JavaBook 책읽기 스터디. Contribute to kjsu0209/JavaBook development by creating an account on GitHub. github.com JavaBook – Medium Documentation ..

2021.03.28 게시됨

 포스팅 썸네일 이미지

IT/Effective Java

[Effective Java 3/E] ITEM 37. ordinal 인덱싱 대신 EnumMap을 사용하라

배열이나 리스트에서 원소를 꺼낼 때, ordinal메서드로 인덱스를 얻는 코드가 가끔 있는데, 바람직하지 못하다. 예제 1-1 : Plant 클래스 class Plant { enum LifeCycle { ANNUAL, PERENNIAL, BIENNIAL } final String name; final LifeCycle lifeCycle; Plant(String name, LifeCycle lifeCycle) { this.name = name; this.lifeCycle = lifeCycle; } @Override public String toString() { return name; } } Plant 클래스의 inner class로 enum 타입을 선언해주었다. Enum타입은 생애주기를 나타낸다. 예제 ..

2021.03.28 게시됨

 포스팅 썸네일 이미지

IT/Effective Java

[Effective Java 3/E] ITEM 36. 비트 필드 대신 EnumSet을 사용하라

작성자 주: 저는 C/C++ 개발을 할 때 비트 필드 구현을 많이 사용했습니다. 하나의 int/long 타입 정수에 여러 개의 flag를 넣을 수 있어 많이 사용됩니다. 보통 or 연산으로 합치고, and로 원하는 flag를 가져오는 식으로 사용합니다. 아래 예제는 리눅스 커널의 mman.h 파일에 있는 flag의 일부입니다. #ifdef __USE_MISC # define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ # define MAP_DENYWRITE 0x00800 /* ETXTBSY */ # define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ # define MAP_LOCKED 0x02000 /*..

2021.03.28 게시됨

 포스팅 썸네일 이미지

IT/Effective Java

[Effective Java 3/E] ITEM 35. ordinal 메서드 대신 인스턴스 필드를 사용하라

Enum 클래스는 해당 상수가 Enum 타입에서 몇 번째 상수인지 리턴하는 ordinal 메서드를 제공한다. 그러나 사용하지 않아야 한다. 예제1 : 합주단의 종류 public enum Ensemble { SOLO, DUET, TRIO, QUARTET, QUINTET, SEXTET, SEPTET, OCTET, NONET, DECTET; public int numberOfMusicians() { return ordinal() + 1; } } 쓰지 말아야 하는 이유 상수 선언 순서를 바꾸면 ordinal()은 오동작한다. 선언 순서에 기반해 동작하는 ordinal() 입장에선 당연하다. 이미 사용중인 정수와 똑같은 값을 가지는 상수는 만들 수 없다. 8중주는 8명이서 연주한다(octet). 그러나 복4중주(..

2021.03.28 게시됨

IT/Effective Java

[Effective Java 3/E] ITEM 34. int 상수 대신 열거 타입을 사용하라

열거(이하 Enum) 타입이 도입되기 전에는 상수를 정의할 때에는 정수 열거 패턴(int enum pattern)을 사용했다. //DO NOT public static final int APPLE_FUJI = 0; public static final int APPLE_PIPPIN = 1; public static final int APPLE_GRANNY_SMITH = 2; public static final int ORANGE_NAVEL = 0; public static final int ORANGE_TEMPLE = 1; public static final int ORANGE_BLOOD = 2; 쓰지 말아야 할 이유 이 정수 열거 패턴은 type safe를 보장할 수 없다.(APPLE_FUJI==ORAN..

2021.03.28 게시됨