[1] Wrapper 클래스
[2] 숫자와 문자열의 상호 변환
[1] Wrapper 클래스
Collection Framework API
자바에서 제공하는 데이터 구조인 컬렉션(Collection)을 표현하는 인터페이스와 클래스의 모음(API)
객체(클래스) 형태만 넣을 수 있기 때문에 기본 자료형을 넣을 수 없음
기본 자료형을 객체 자료형으로 만들 수 있는 방법을 제공해야 Collection Framework에 저장하여 관리 가능
# 객체(클래스) : VO, DTO 구조로 만들어 데이터를 Collection Framework에 넣음
# 실제로 데이터를 처리할 때 기본 자료형도 많이 사용한다.
# Collection : 모으다, 모아져 있는 구조(데이터를 여러개 갖는 구조)
여러개의 데이터를 자바에서 핸들링하기 쉽게 만들어놓은 API들을 총칭하여 부르는 이름
# 배열 : 여러개의 데이터를 저장하기 위해 만든 자료구조
# ArrayList : 배열처럼 동작하는 자바에서 제공하는 클래스(배열에 넣고, 빼고, 검색)
Framework
데이터들이 공통으로 가지고 있는 동작들을 자바에서 인터페이스로 만들어놓은 것
# 인터페이스 : 모든 컬렉션들과 컬렉션들의 데이터를 핸들링하는 API들이 가지고 있어야 할 공통적인 동작
# 공통적인 동작(추가, 검색, 삭제)
Wrapper(포장) 클래스란?
기본 데이터 타입(primitive data type)을 객체 자료형으로 다룰 수 있도록 만들어놓은 클래스
Collection Framework는 객체 데이터만 저장 가능하기 때문에, 기본 자료형을 바로 넣을 수 없음
기본 자료형도 데이터 처리에 많이 사용되기 때문에 기본 자료형을 객체 자료형으로 사용 가능한 클래스들을 제공해야 함
wrapper 클래스를 사용하면 자동으로 박싱(boxing)과 언박싱(unboxing)이 이뤄진다.
# 기본 자료형 → 객체 자료형으로 변환하는 클래스들을 하나로 부르는 이름
# wrapper 클래스를 이용하여 Collection Framework에 데이터를 넣을 수 있게 된다.
# 기본 자료형을 객체 자료형으로 감싸는 형태이며, 변수에 번지가 들어가게 된다.
# Wrap : 음식을 비닐에 포장하는 것
기본 데이터 타입 | Wrapper 클래스 |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Boxing
기본 데이터 타입을 해당하는 wrapper 클래스 객체로 변환하는 것
기본적으로 Boxing/Unboxing는 내부적으로 자동으로 이뤄진다.(시스템에서 자동으로 함)
예) 데이터를 Wrap으로 포장하는 기법(포장을 하다)
int i = 10;
Integer intObj = Integer.valueOf(i);
Unboxing
wrapper 클래스 객체를 해당하는 기본 데이터 타입으로 변환하는 것
예) 포장된 Wrap을 풀고 데이터를 꺼내는 기법(포장을 풀다)
Integer intObj = new Integer(10);
int i = intObj.intValue();
Auto-boxing
기본 데이터 타입의 값을 해당하는 wrapper 클래스 객체로 자동 변환하는 것
int i = 10;
Integer intObj = i;
Auto-unboxing
wrapper 클래스 객체를 해당하는 기본 데이터 타입으로 자동 변환하는 것
Integer intObj = new Integer(10);
int i = intObj;
[2] 숫자와 문자열의 상호 변환
숫자형 문자열을 정수로 변환하는 방법
자바에서 숫자형 문자열을 정수로 변환하려면 Integer.parseInt()를 사용하면 된다.
# 숫자형 문자열 : 문자열인데 안에 들어있는 데이터는 숫자인 경우
# parse : 변환이라는 의미
# parseXXX() : 프로그램에서 빈번히 사용되므로 static로 만들어 놓음
String str = "123";
int num = Integer.parseInt(str);
정수를 문자열로 변환하는 방법
정수를 문자열로 변환하려면 String.valueOf() 또는 "" + 정수를 사용하면 된다.
# # "" + 정수 : 문자열과 숫자를 결합하는 것
# +(숫자) : 덧셈이라는 기능을 갖음
# +(문자열) : 문자열끼리는 덧셈을 할 수 없음(결합)
덧셈이 되지 않으면 문자열 + 문자열로 간주하여 결합시킨다.
문자열1("123"), 문자열2("123")가 모두 숫자 형태라 하더라도 덧셈이 되지 않음
int num = 123;
String str1 = String.valueOf(num); // "123"
String str2 = "" + num; // "123"
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.