ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 배열 - 2
    JAVA/배열( array ) 2023. 5. 3. 10:56
    728x90
    구분 내용 생성 시기 / 소멸 시기
    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
Designed by Tistory.