JAVA

[Java] boolean, Boolean

k9e4h 2020. 7. 21. 00:53

Boolean을 사용해야하는 경우

Null check가 필요 없는 경우 기본 자료형이 더 좋음. unboxing의 시간이 소요되기 때문.

그러나 Null 값 허용이 필요하다던지, DB에 널값이 있을 수 있다던지, Collection에서 사용해야하는 경우는 Boolean을 사용하는 것이 좋음.

사용할 수 있는 메서드가 많아짐

 

https://stackoverflow.com/questions/18953251/when-should-i-use-boolean-instead-of-boolean

https://stackoverflow.com/questions/3728616/boolean-vs-boolean-in-java

 

 

boolean - primitive type (기본 자료형)

Boolean - reference type/object

 

박싱과 언박싱

자바의 타입은 int, float, double, char, boolean과 같은 기본 자료형(primitive type)을 기반으로 만들어진다. 아울러 이러한 기본 자료형을 객체로 감싼 Integer, Float, Double, Boolean과 같은 박스화한 기본 자료형(boxed primitive type)도 자주 사용된다.

이때 기본 자료형에서 박스화된 기본 자료형으로 변환하는 과정을 박싱(Boxing), 반대로 박스화된 기본 자료형을 기본 자료형으로 변환하는 것을 언박싱(Unboxing)이라 한다.

List와 Map으로 잘 알려진 컬렉션에서는 객체만을 받아들일 수 있으므로 기본 자료형이 아닌 박스화된 기본 자료형만을 사용할 수 있다. 예를 들어, List를 사용할 때, List<Integer>와 같이 객체화된 자료형은 사용할 수 있지만, List<int>처럼 객체가 아닌 기본 자료형은 사용할 수 없다.

 

 

boolean에는 true, false만 들어갈 수 있음

Boolean에는 null이 들어갈 수 있음

 

Boolean은 인스턴스화 할 필요 없음

 

//Boolean bool = new Boolean(true);
   Boolean bool = Boolean.TRUE;
//Boolean bool2 = Boolean.valueOf(false);
   Boolean bool2 = Boolean.FALSE;

 

 

반응형

'JAVA' 카테고리의 다른 글

JVM 메모리 구조 및 변수 적재 위치  (2) 2020.12.14
Java 성능 관리  (0) 2020.12.09
모던 자바 인 액션 내용 정리  (0) 2020.07.21
Java Inner Class  (0) 2020.05.29
Java 초기화  (0) 2020.05.28