-
[Effective Java 2/E] 규칙49 객체화된 기본 자료형 대신 기본 자료형을 이용하라My-Book(History) 2016. 2. 28. 20:24반응형
기본 자료형과 객체화된 기본 자료형 세가지 큰 차이점
1) 기본 자료형은 값만 가지지만 객체화된 기본 자료형은 값 외에도 신원(identity)을 가진다는 것이다. 따라서 객체화된 기본 자료형 객체가 두 개 있을때,
그 값은 같더라도 신원은 다를 수 있다.
2) 기본 자료형에 저장되는 값은 전부 기능적으로 완전한 값 이지만,
객체화된 기본 자료형에 저장되는 값에는 그 이외에도 아무 기능도 없는 값, 즉 null이 하나 있다는 것이다.
책을 읽으면서 알게된 중요한 Tip
1) 객체화된 기본 자료형에 == 연산자를 사용하는 것은 거의 항상 오류라고 봐야한다.
2) 기본 자료형과 객체화된 기본 자료형을 한 연산 안에 엮어 놓으면 객체화된 기본 자료형은 자동으로 기본 자료형으로 변환된다.
(내 생각 : Auto-un Boxing 을 하기 떄문이다. <- 이렇게 되면 성능이 매우 느리다)
3) 자동 객체화는 번거로운 일을 줄여주긴 하지만, 객체화된 기본 자료형을 사용할 때 생길 수 있는 문제들까지 없애주진 않는다.
반응형'My-Book(History)' 카테고리의 다른 글
자바로 배우는 쉬운 자료구조 - 수식의 후위 표기법 변환 (1) 2016.05.05 좋은 코드를 작성하는 기술 - 코드의 분할 (0) 2016.04.16 [Effective Java 2/E] 규칙43 null 대신 빈 배열이나 컬렉션을 반환하라 (0) 2016.02.28 [Effective Java 2/E] 규칙42 varargs는 신중히 사용하라 (0) 2016.02.28 [Effective Java 2/E] 규칙2 생성자 인자가 많을 때는 Builder 패턴 적용을 고려하라 (0) 2016.02.20