-
배열 - 2JAVA/배열( array ) 2023. 5. 3. 10:56728x90
구분 내용 생성 시기 / 소멸 시기 Method Area byte code
literal
final
static생성 : 프로그램 시작
소멸 : 프로그램 종료Heap 객체(object)
배열... > new로 생성되는 것들생성 : new 생성시
소멸 : reference가 끊길 때
(Garbage Collection에 의해 자동 소멸)Stack 지역변수
매개변수생성 : 블럭 안에서 선언될 때
소멸 : 블럭이 끝날 때배열에 for문 사용과 enhanced for문 사용시의 차이점
기본적으로 두 개의 구문 모두 배열을 순회할 수 있지만, 결정적인 차이가 존재한다
enhanced for문은 기본적으로 배열의 소요를 꺼내어 변수에 담아서 사용하기 때문에
배열의 원소를 직접 변경하는 것이 불가능하다~!이론적으로도 당연한 이야기이지만,
Debugging으로 확인해보자
//선언된 배열 int[][] array = { {1, 2}, {3, 4, 5, 6}, {7, 8, 9}, };
앞에서 int[][] array에서 첫번째 원소인 int[]타입의 {1, 2}를 모두 순회하고 int[][] array의 두번째 원소인 {3, 4, 5, 6}을
순회하고 있음에도 불구하고, 디버깅 화면을 보면, int[][] array의 첫번째 요소의 값이 변경이 일어나지 않았다.
이유는 디버깅창에 맨 아래와 같이 a 라는 변수에 해당 요소의 값을 복사하고 있었기 때문이다.
'JAVA > 배열( array )' 카테고리의 다른 글
배열이란? (0) 2023.05.03