예외 69. 예외는 진짜 예외 상황에만 사용하라. try { int i = 0; while (true) { range[i++].climb()...
일반적인 프로그래밍 원칙 57. 지역변수의 범위를 최소화하라. 이 원칙은 클래스와 멤버의 접근 권한을 최소화하라는 것과 비슷하다. 지역변수의 유효범위를 최소로 줄이면 코...
메서드 49. 매개변수가 유효한지 검사하라. 메서드와 생성자는 파라미터 값이 특정 조건을 만족해야 한다. 이러한 제약은 반드시 문서화해야 하며, 메서드 몸체가 시작되기 ...
람다와 스트림 42. 익명 클래스보다는 람다를 사용하라. 예전에는 자바에서 함수 타입을 표현할 때 추상 메서드를 하나만 담은 인터페이스(혹은 추상 클래스)를 사용했다. ...
열거 타입과 애너테이션 34. int 상수 대신 열거 타입을 사용하라. 열거 타입은 일련의 상수 값을 정의한 다음, 그 외의 값은 허용하지 않는 타입이다. 자바에서 열거...
제네릭 다양한 타입의 객체들을 다루는 메서드나 클래스에 컴파일 시의 타입 체크를 하기 위해 나왔고, 타입 안정성을 높여 형변환의 번거로움을 줄일 수 있다. 타입 안정...
클래스와 인터페이스 15. 클래스와 멤버의 접근 권한을 최소화하라. 잘 설계된 컴포넌트와 그렇지 않은 것의 차이는 클래스의 내부 데이터와 내부 구현 정보를 외부 컴포넌트...
모든 객체의 공통 메서드 자바의 Object 클래스는 상속해서 사용할 수 있는 여러 메서드들이 있다. Object에서 final이 아닌 메서드 (equals, hashCo...
객체 생성과 파괴 01. 생성자 대신 정적 팩터리 메서드를 고려하라. 클라이언트가 클래스의 인스턴스를 얻는 전통적인 수단은 Public 생성자이지만, 정적 팩터리 메소드...
Java Garbage Collection Algorithms GC Algorithms: Basics 자바의 GC 알고리즘들을 설명하기에 앞서서, 이 알고리즘을 설명하는...
Garbage Collection Background 개념 자바에서 garbage collection 은 어떤 오브젝트를 계속 사용할 수 있을지, 아니면 버려야할지를 추적하...
Java Exception Handling 개발을 진행하면서 예외 핸들링에 관한 여러 문제점들 중에 하나는 언제, 그리고 어떻게 처리를 해야하느냐는 것이다. 특히 Java...
이 글은 http://www.nextree.co.kr/p5864/ 포스트를 보고 study, 정리한 것입니다. Java Annotation Annotation 이란...
JMS JMS는 Java Messaging System의 약자로 Java에서 Messaging System을 사용하기 위한 API들의 정의이다. Messaging Sys...