2025/02/22 2

Effective Java Item54. null이 아닌, 빈 컬렉션이나 배열을 반환하라.

null이 아닌, 빈 배열이나 컬렉션을 반환하라. null을 반환하는 API는 사용하기 어렵고 오료 처리 코드도 늘어난다. 그렇다고 성능이 좋은 것도 아니다.컬렉션을 반환할 때 빈 컨테이너를 할당하는 데도 비용이 드니 null을 반환하는 쪽이 낫다는 주장이 있다. 하지만 두 가지 면에서 틀린 주장이다.성능 분석 결과 이 할당이 성능 저하의 주범이라고 확인되지 않는 한 이 정도의 성능 차이는 신경 쓸 수준이 못 된다. (item 67)빈 컬렉션과 배열은 굳이 새로 할당하지 않고도 반환할 수 있다.ex) 빈 컬렉션을 반환하는 올바른 예public List getCheeses() { return new ArrayList(cheesesInStock);}사용 패턴에 따라 빈 컬렉션 할당이 성능을 눈에 띄게 떨어..

Java/EffectiveJava 2025.02.22

Effective Java Item53. 가변인수는 신중히 사용하라.

인수 개수가 일정하지 않은 메서드를 정의해야 한다면 가변인수가 반드시 필요하다. 메서드를 정의할 때 필수 매개변수는 가변인수 앞에 두고, 가변인수를 사용할 때는 성능 문제까지 고려하자.가변인수 메서드를 호출하면, 가장 먼저 인수의 개수와 길이가 같은 배열을 만들고 인수들을 이 배열에 저장하여 가변인수 메서드에 건네준다.ex) 간단한 가변인수 활용 예static int sum(int... args) { int sum = 0; for (int arg : args) { sum += arg; } return sum;}ex) 인수가 1개 이상이어 하는 가변인수 메서드 - 잘못 구현한 예static int min(int... args) { if (args.length == 0..

Java/EffectiveJava 2025.02.22