작성
·
313
답변 2
2
1
안녕하세요. hanul_kr 님, 공식 서포터즈 codesweaver 입니다.
기본 타입 (primitive type)을 객체화 한 클래스를 랩퍼 클래스(Wrapper class)라고 합니다. 이 랩퍼 클래스를 쓰는 이유는 여러가지가 있습니다.
1. 기본 타입에 없는 여러가지 메서드를 제공합니다.
-- Integer 같은 정수를 바이트로 읽기, 뒤집기 등등을 제공합니다. (실무에서 쓸일은 거의 없다고 보셔도..)
2. 래퍼 클래스는 객체이기 때문에 기본값으로 null 을 할당할 수 있습니다.
-- 클래스의 필드에 기본 타입을 사용할 경우 초기화가 0에 준하는 값으로 진행됩니다.
-- 그러나 래퍼 클래스로 생성하면 null 로 초기화가 진행됩니다. (이 부분이 편리할때가 있습니다)
3. 파라미터의 데이터 타입이 Object인데 기본 타입 값을 넘겨야 할 때..
-- 기본 타입 int 10을 어떤 함수의 파라미터로 넘기고 싶은데 그 함수의 파라미터 타입이 Object 만 받는다면 값을 넘길 방법이 없습니다. 그래서 int 를 객체인 Integer로 컴파일러가 변환하게 됩니다. (오토박싱)
.
위와같은 이유로 래퍼 클래스를 사용합니다.
.
감사합니다.
고맙습니다