[Java] Wrapper 클래스에 대한 나름의 이해

2023. 10. 1. 10:38Java

primitive를 감싸는 것을 의미한다. 예를 들어, int를 Integer로, boolean을 Boolean으로 float을 Float으로 감싼다.

이렇게 하는 이유는 제너릭을 사용하기 위함, return으로 null을 사용하기 위함이다. 또한 객체화되는 것이기 때문에 객체지향의 특성을 활용하기 위함이다.

AutoBoxing: 아래와 같이 Integer.valueOf(1)로 변환하지 않아도 되는 것을 의미한다. 즉 파라미터 타입인 Integer로 캐스팅해준다.

List<Integer> lists = new ArrayList<>();
lists.add(1);

AutoUnBoxing 아래와 같이 꺼낼 때 int로 받아도 자동으로 캐스팅해주는 것을 의미한다.

ArrayList<Integer> integerList = new ArrayList<>();
integerList.add(1);  // Autoboxing: int -> Integer
int value = integerList.get(0);  // Unboxing: Integer -> int

Reference


https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/main/Java#overriding-vs-overloading

 

'Java' 카테고리의 다른 글

[Java] LinkedHashMap  (0) 2023.10.31
[Java] 나의 java-baseball의 개선점  (1) 2023.10.29
[Java] Annotation에 대한 나름의 이해  (0) 2023.09.24
[Java] Collection에 대한 나름의 이해  (0) 2023.09.23
[Java] GC에 대한 나름의 이해  (0) 2023.09.22