해당 클래스에 대하여

프리미티브(원시) 타입을 객체로 표현할 수 있도록 도와주는 클래스.
프리미티브 타입은 실제 데이터 값을 저장하는 타입.
반대로 레퍼런스(참조) 타입은 객체를 참조하는 타입.

클래스명 프리미티브 타입
Byte byte
Short short
Integer int
Long long
Character char
Float float
Double double
Boolean boolean

오토박싱, 언박싱

박싱은 프리미티브 타입의 데이터를 래퍼 클래스의 객체로 만드는 과정이다.
언박싱은 반대 개념.

1
2
3
4
5
6
7
public class Wrapper {
public static void main(String[] args) {
int i = 10;
Integer integer = new Integer.valueOf(i); //Boxing
i = integer.intValue(); //UnBoxing
}
}

래퍼 클래스에 대입된 값은 프리미티브 타입이 아니라 참조 타입이기 떄문에 주소값을 통한 비교가 필요하다.

부연설명) 인스턴스(객체)를 생성하면서 Heap 에 저장되고 객체 변수는 Stack 에 저장되어 주소값을 갖기 때문이다.
따라서 equals 를 사용하거나 데이터를 프리미티브 타입으로 변환(UnBoxing) 후 값을 비교해야 한다.

자료구조

데이터를 효율적으로 사용할 수 있도록 구조를 만들어 둔 것.

종류 클래스명
List(리스트) ArrayList, LinkedList(Vector)
Stack(스택) LinkedList(Stack)
Queue(큐) LinkedList
Hash Table(해시 테이블) HashMap
Set(집합) HashSet

스택이란 데이터를 넣은 순서의 역순으로만 꺼낼 수 있는 자료구조이다.

부연설명) 바구니를 생각하면 쉽다. 바구니에 맨 안쪽에 있는 물건을 바로 꺼낼 수 없는 것처럼.

큐란 데이터를 넣은 순서와 같은 순서로만 꺼낼 수 있는 자료구조이다.

부연설명) 놀이기구를 타기 전 기다린 순서대로 놀이기구에 탑승하는 것처럼.

셋(집합)이란 수학에서 말하는 집합처럼 데이터를 중복으로 저장하지 않는 자료구조이다.

  • 다음 포스팅 내용은, 네스티드 클래스와 인터페이스에 대해서 설명하도록 함.