제네릭 타입 소거
·
언어/Java
타입 소거 제네릭은 자바 컴파일 단계에서만 사용되고, 컴파일 이후에는 제네릭 정보가 삭제된다. 제네릭에 사용한 타입 매개변수가 모두 사라지는 것이다. 쉽게 이야기하면 컴파일 전인 .java 파일에는 제네릭 타입 매개변수가 존재하지만, 컴파일 이후인 .class 파일에는 제네릭 타입 매개변수가 존재하지 않을 것이다. 타입 매개변수 미제한의 경우 컴파일 전 public class GenericBox { private T value; public void set(T value) { this.value = value; } public T get() { return value; } }...void main() { ..
Primitive 타입과 Reference 타입
·
언어/Java
Primitive 타입 흔히 기본형 타입으로 int, float, double, char, boolean 등의 타입이 해당됩니다. 기본형 타입의 변수는 값을 직접 가지고 있으며, 스택(Stack) 메모리에 저장됩니다. 이러한 변수들은 크기가 작기 때문에, 빠른 엑세스와 빠른 메모리 할당을 허용합니다. 예를 들어 int, float, double, char, boolean 은 고정된 크기에 공간을 차지하며, 변수에 값을 할당하면 해당 공간에 값을 직접 저장합니다. 메모리 할당과 해제가 빠르며 오버헤드가 적습니다. Reference 타입 참조 타입으로 객체, 배열 등이 해당됩니다. 참조형 타입의 변수는 해당 데이터의 주소를 저장하고 있으며, 그 주소는 스택(Stack) 영역에 저장되고 있습니다. 참조 타입 ..