메모리 할당 (2) 썸네일형 리스트형 Java 메소드 매개변수 참조 변경 불가: 왜 그럴까요? 질문 Java에서는 메소드 매개변수로 전달된 참조를 변경하여 원본 객체를 수정하는 것이 불가능합니다. 왜 그럴까요? 개요 Java에서는 메소드 매개변수로 전달된 배열의 참조를 변경하여 원본 배열을 수정하는 것이 불가능합니다. 이유 Java는 메소드 호출 시 매개변수를 값에 의한 복사(call by value)로 전달합니다. 배열은 참조 타입이므로, 메소드 내부에서 배열 매개변수에 새로운 배열을 할당하면 해당 매개변수는 새로운 배열을 가리키게 됩니다. 그러나 이 변경은 메소드 외부에 있는 원본 배열에는 영향을 주지 않습니다. 이는 자바가 call by value language라 불리는 이유입니다. 사용 방법 Java에서는 배열을 직접 수정하는 것이 아니라 복사하여 변경한 후, 변경된 배열을 새로운 변수에.. 자바의 Primitive 데이터 타입과 Reference 데이터 타입 기본형 타입(Primitive type) 총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다. 기본값이 있기 때문에 Null이 존재하지 않는다. 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다. String은 object이다. primitive type이 아니다. 테이터 타입 이름 할당 메모리 bit 기본값 데이터 범위 데이터 숫자 범위 boolean 1 byte 1 bit false true, false true,false byte 1 byte 8 bit 0 -128 ~ 127 $-2^{7}$~ $(2^{7}-1)$ short 2 byte 16 bit 0 -32,768 ~ 32,767 $-2^{15}$~ $(2^{15}-1)$ int 4 byte 32 bit .. 이전 1 다음