자바에서 명령문(statement)을 둘 수 있는 자리에는 변수도 선언 가능 지역 변수의 유효범위를 최소화 하기 위해 처음 사용하는 곳에 선언 거의 모든 지역 변수 선언에는 초기값(initializer)이 포함while문 보다는 for문 사용copy and paste하
for-each문은 전통적인 for문에 비해 명료하고 버그 발생 가능성도 적으며, 성능도 for문에 뒤지지 않음for-each문에서 ‘:’ 기호는 “안에있는(in)" 의 의미 해석 : elements 안에 있는 e 각각에 대해서 순회바깥쪽 순환문 안에서 카드 종류별로
float와 double은 특히 돈과 관계된 계산에는 적합하지 않음 1달러를 가지고 있고 10센트, 20센트, 30센트 등의 가격이 붙은 사탕을 구매하려 할 때 가장 싼 사탕부터 시작해 차례대로 비싼 사탕을 구매시 몇 개의 사탕을 구매하고, 잔돈이 얼마인지 계산하는 예
4. 객체화된 기본 자료형 대신 기본 자료형을 이용하라 기본 자료형과 객체화된 기본 자료형 사이의 차이점 > 1. 기본 지료형은 값만 가지지만 객체화된 기본 자료형은 값 외에도 신원(identity)을 가짐 기본 자료형에 저장되는 값은 전부 기능적으로 완전한 값(ful
문자열은 값 자료형(value type), enum자료형, 혼합 자료형(aggregate type)을 대신하기엔 부족 // 문자열을 권한으로 사용하는, 잘못된 예제 public class ThreadLocal { private ThreadLocal() { } // 객체
문자열 연결 시 성능에 주의하라 n개의 문자열에 연결 연산자를 반복 적용해서 연결하는 데 드는 시간은, n^2에 비례 ex23) 청구서 예제 - 문자열을 연결하는 잘못된 방법 // 문자열을 연결하는 잘못된 방법 - 성능이 엉망이다 public String statem
객체를 참조할 때 만일 적당한 인터페이스 자료형이 있다면 인자나 반환값, 변수, 그리고 필드의 자 료형은 클래스 대신 인터페이스로 선언인터페이스를 자료형으로 쓰는 습관을 들이면 프로그램은 더욱 유연해짐인터페이스가 없는 경우에는 필요한 기능을 제공하는 클래스 가운데 가장
java.lang.reflect의 핵심 리플렉션 기능(core reflection facility)을 이용하면 메모리에 적재된 클래스의 정보를 가져오는 프로그램을 작성할 수 있음리플렉션 단점컴파일 시점에 자료형을 검사하여 얻을 수 있는 이점들 포기 코드 가독성 떨어짐성
구조적인 원칙(architectural principle) 준수정보은닉 원칙을 지키며 시스템의 다른 부분에는 영향을 주지 않으며 독립적으로 변경할 수 있도록 설계API를 설계할 때 내리는 결정들이 성능에 어떤 영향을 끼칠지 고민 필요 좋은 성능을 내기 위해 API를 급