Home
Younghwani
Cancel

[Effective Java] Item69. 예외는 진짜 예외 상황에만 사용하라!

Item69. 예외는 진짜 예외 상황에만 사용하라! 예외를 잘못 사용한 경우 try { int i = 0; while(true) range[i++].climb(); } catch (ArrayIndexOutOfBoundsException e) { } 위 예제를 보고 무엇을 나타내는 코드인지 파악할 수 없다. ...

[Effective Java] Item68. 일반적으로 통용되는 명명 규칙을 따르라!

Item68. 일반적으로 통용되는 명명 규칙을 따르라! Intro 자바 플랫폼은 명명 규칙이 잘 정립되어 있다. 그중 많은 것이 자바 언어 명세에 기술되어 있다. 자바의 명명 규칙은 크게 철자와 문법, 두 범주로 나뉜다. 철자 규칙은 패키지, 클래스, 인터페이스, 메서드, 필드, 타입변수의 이름을 다룬다. ...

[Effective Java] Item67. 최적화는 신중히 하라!

Item67. 최적화는 신중히 하라! Intro 최적화는 좋은 결과보다는 해로운 결과로 이어지기 쉽다. 섣불리 진행하면 특히 그렇다. 빠르지도 않고 제대로 동작하지도 않으면서 수정하기는 어려운 소프트웨어를 탄생시킬 수 있다. 조언 빠른 프로그램보다는 좋은 프로그램을 작성하라 성능 때문에 견고한 구조를 희생시키지 말아야 한다. ...

[Effective Java] Item66. 네이티브 메서드는 신중히 사용하라!

Item66. 네이티브 메서드는 신중히 사용하라! Intro 자바 네이티브 인터페이스(JNI)는 자바 프로그램이 네이티브 메서드를 호출하는 기능이다. 네이티브 메서드란 C나 C++ 같은 네이티브 프로그래밍 언어로 작성한 메서드를 말한다. 네이티브 메서드의 쓰임 레지스트리 같은 플랫폼 특화 기능 사용 자바가 성...

[Effective Java] Item65. 리플렉션보다는 인터페이스를 사용하라!

Item65. 리플렉션보다는 인터페이스를 사용하라! 리플렉션 리플렉션 기능(java.lang.reflect)을 이용하면 프로그램에서 임의의 클래스에 접근할 수 있다. Class 객체가 주어지면 그 클래서의 생성자, 메서드, 필드에 해당하는 Constructor, Method, Field 인스턴스를 가져올 수 있다. 이 인스턴스들로는 그 클...

[Effective Java] Item64. 객체는 인터페이스를 사용해 참조하라!

Item64. 객체는 인터페이스를 사용해 참조하라! 핵심 정리 매개변수 타입을 클래스가 아닌 인터페이스로 사용하라는 아이템 51의 조언을 ‘객체는 클래스가 아닌 인터페이스로 참조하라’ 라는 조언으로 확장할 수 있다. 적합한 인터페이스만 있다면 매개변수뿐 아니라 반환값, 변수, 필드를 전부 인터페이스 타입으로 선언하라. 객체의 실제 클래...

[Effective Java] Item63. 문자열 연결은 느리니 주의하라!

Item63. 문자열 연결은 느리니 주의하라! Intro 문자열 연결 연산자(+)는 여러 문자열을 하나로 합쳐주는 편리한 수단이다. 한 줄짜리 출력값 혹은 작고 크기가 고정된 객체의 문자열 표현을 만들 때라면 괜찮지만, 본격적으로 사용하면 성능 저하가 심해진다. 문자열 연결 연산자로 문자열 n개를 잇는 시간은 n^2에 비례한다. 문...