DEV ℧ Developer Diary

[EffectiveJava] item59 - 라이브러리를 익히고 사용하라.

무작위 정수를 하나 생성하고 싶다고 해보자. 많은 프로그래머가 다음과 같은 짤막한 메서드를 만들곤 한다.

static Random rnd = new Random(); static int randon (int n) {...

[EffectiveJava] item58 - 전통적인 for 문보다는 for-each 문을 사용하라

Item45에서 정리 했듯이, 스트림이 제격인 작업이 있고 반복문이 제격인 작업이있다.

이번에는 반복문(전통적인 for문)이 제격인 경우에 대해 정리해보도록 하자.

전통적인 for 문

다음은 컬렉션과 배열을 순회하는 전통적인 for문의 예시이다.

컬렉션 순회하기 - 더 나은 방법이 있다.

for (<span...

[EffectiveJava] item57 - 지역변수의 범위를 최소화하라

지역변수의 유효 범위를 최소로 줄이면 코드의 가독성과 유지보수성이 높아지고 오류 가능성은 낮아진다.

지역변수의 선언

C와 같은 역사가 깊은 프로그래밍 언어 중에는 지역변수를 코드블록의 첫머리에 선언하느 경우가 많다. 하지만 자바는 문장을 선언할 수 있는 곳이면 어디서든 변수를 선언 할 수 있다.

지역변수의 범위를 줄이는 가장...

[EffectiveJava] item56 - 공개된 API 요소에는 항상 문서화 주석을 작성하라

API를 쓸모 있게 하려면 잘 작성된 문서도 곁들어야 한다. 전통적으로 API 문서는 사람이 직접 작성하므로 코드가 변경되면 매번 함께 수정해줘야 하는데, 자바에서는 자바독(Javadoc)이라는 유틸리티가 이 귀찮은 작업을 도와준다.

자바독(Javadoc) : 소스코드 파일에서 문서화 주석(doc comment; 자바독 주석)이라는 특수한 형태로 기술된 설명을 추려 API 문서로...

[EffectiveJava] item55 - 옵셔널 반환은 신중히 하라

자바 8 전에는 메서드가 특정 조건에서 값을 반환할 수 없을때 null을 던지거나 예외를 던지는 방식으로 처리를 진행했다. 하지만 각각의 문제점이 존재했다.

  • null로 처리할 경우 : null을 반환하는 메서드를 처리할 때, null을 처리하는 로직이 필수적으로 들어가야 하며, 이를 놓칠경우 NullPointerException 예외가 발생
  • 예외로 처리할 경우...