키보드워리어

[자바] Wrapper 클래스 - 생성메서드 valueOf, AutoBoxing - 5 본문

JAVA/입문

[자바] Wrapper 클래스 - 생성메서드 valueOf, AutoBoxing - 5

꽉 쥔 주먹속에 안경닦이 2023. 2. 2. 11:47
728x90

원시형 타입들은 모두 대문자로 하는 클래스들을 가지고 있습니다. double -> Double, float -> Float 이렇게요.

 

그리고 이 클래스들은 valueOf이라는 메서드를 가지고 있는데 이 valueOf가 꽤나 유용합니다.

 

valueOf

 

new키워드로 새로운 클래스를 사용하지 않고

Wrapper클래스 활용방법
Wrapper클래스 활용방법

이와 같이 사용하는 이유는

new키워드를 이용할 때 2개의 변수를 만든다고 치면 a1와 a2가 같은 경로를 복사하지 않기 때문에 같은 값을 갖지 않는 것처럼 보일 수 있기 때문입니다.

 

Wrapper클래스는 같은 값인지를 확인하는 게 아니라

String타입처럼 같은 경로로 참조하는지를 확인합니다.

 

그리고 String클래스와 동일하게 래퍼클래스도 불변성을 가지고 한번 값이 지정된 이후에는 변경이 불가합니다.

 

 

AutoBoxiong

 

자바 5에서부터 제공되는 오토박싱이라는 개념이 추가되었습니다.

기본값에서도 컴파일러가 이것들을 래퍼로 변환시키는 것을 도와줍니다.

오토박싱예시
오토박싱 예시

위 사진처럼 오토박싱은 사용자의 편의성을 제공하죠. 굳이 valueOf를 쓰지 않아도 되니까요!

 

 

오토박싱은 매우 중요한 개념이에요 차후 단계에서는 이걸 이용해서 컬렉션에 기본값을 추가하는 방법을 배울 거예요. 이런 기능은syntactic sugar’로 불립니다.

728x90