기본 콘텐츠로 건너뛰기

추천 가젯

8장 메서드 (2장)

날짜 : 2019-12-19 ~ 2020-01-02 정리 아이템 53. 인수 개수가 일정하지 않은 메서드를정의해야 한다면 가변인수가 반드시 필요하다. 메서드를 정의할 때 필수 매개변수는 가변인수 앞에 두고, 가변인수를 사용할 때는 성능문제까지 고려하자. 아이템 54. null이 아닌, 빈 배열이나 컬렉션을 반환하라. null을 반환하는 API는 상용하기 어렵고 오류 처리 코드도 늘어난다. 하지만 성능이 좋은 것도 아니다. 아이템 55. 값을 반환하지 못할 가능성이 있고, 호출 할 때마다 반환 값이 없을 가능성을 염두에 둬야하는 메서드라면 옵셔널을 반환해야 할 상황일 수 있다. 하지만 옵셔널 반환에는 성능 저하가 뒤따르니, 성능에 민감한 메서드라면 null을 반환하거나 예외를 던지는 편이 나을 수 있다. 옵셔널을 반환값 이외의 용도로 쓰는 경우는 거의 없다. 아이템 56. 문서화 주석은 API를 문서화하는 가장 훌륭하고 효과적인 방법이다. 공개 API라면 빠짐없이 설명을 달아야한다. 표준 규약을 일관되게 지키자. 문서화 주석에 임의의 HTML 태그를 사용할 수 있음을 기억하라. 단, HTML 메타문자는 특별하게 취급해야한다. 내용 아이템 53. 가변인수는 신중히 사용하라 ● 가변인수 메서드는 명시한 타입의 인수를 0개 이상 받을 수 있다. 가변인수 메서드를 호출하면, 가장 먼저 인수의 개수와 길이가 같은 배열을 만들고 인수들을 이 배열에 저장하여 가변인수 메서드에 건낸다. ● 가변인수를 받을 때, 인수를 하나 이상 받아야한다면, 첫 번째로는 평범한 매개변수를 받고, 가변인수는 두 번째로 받는 것이 좋다. // 잘못된 예 static int min(int... args) {     if (args.length == 0)         throw new IllegalArgumentException("인수 1개 이상 필요합니다.");     int min = args[0];     for (int i = 1; i < args.length; i+

최근 글

[Effective Java] 8장 메서드 (1장)

[Kafka] ERROR OFFSET_OUT_OF_RANGE, topic:topic1, parition:0, groupid:group, offset:22758479

[Kafka] kafka.common.InconsistentBrokerIdException: Configured brokerId 2 doesn't match stored brokerId 1 in meta.properties

[HDFS] java.net.SocketTimeoutException: 10000 millis timeout while waiting for channel to be ready for read.

[Hbase] org.apache.zookeeper.KeeperException$SessionExpiredException 에러

[HBase] ClockOutOfSyncException 해결