부트캠프/코트스테이츠 백엔드 코스

회고 8일차

태태코 2023. 2. 22. 20:42
반응형

아침알바는 날 따듯해지면 편하겠지~ 라는 생각으로 그냥 아무생각없이 하는 중..

오늘의 keyword는 배열이였다.

집에 8시30분에 도착해서 밥을 먹고 씻고 자리에 앉으면 정확히 9시1분이다.. 항상 오프닝 멘트 1분을 화면으로 보지못하고 듣게 된다..

밥을 더 빨리먹어야하나 오늘은 pair 프로그래밍이 끝나는 날이다. 정말 왜 소통하면서 하라는 지 알게 되었다. 여러 사람들과 소통하면서 공유하면서 프로그래밍을 하면 훨씬 더 재밌고 능률이 오르는 것 같아서 기분이 좋다.

 

오늘 배운 내용을 정리하자면, 예전에 배웠던 변수를 선언할때 메모리에 있는 메모리 쉘 들에는 그들을 식별할 수 있는 메모리 주소를 가지고 있고, 그 메모리 주소에 데이터 타입의 크기만큼 할당하여 사용한다고 했다.

하지만 배열? 배열이놈은 선언할때 그 자체에 배열의 값을 할당하지 않는다. 그들은 그 배열원소의 값을 참조하는 참조 값을 가지게 된다.

 

ex) int arr[] = new int[10]; 이라고 했을때는 10이라는 숫자를 주었으니 그냥 10만큼 해서 값을 할당하면 되는거 아닌가? 라는 의문을 가질 수 있지만, 순서대로 보자면 int arr[] 즉 배열 선언이 먼저 이기때문에 분명 컴퓨터는 얼마나 할당해줘야 하는지 모른 다는 것이다.

즉 배열의 첫번째 주소 값을 참조값으로 가지게 되는 것이다.

 

System.out.println(arr);를 했을 때 배열의 원소값이 아닌 메모리 주소 값이 나오는 이유이다.

 

이이외에도 이중배열, 가변배열, 배열 값 뽑아오기등 다양한 배열관련 코드가 있었다.

이중배열은 

int arr[][]= new int [10] [];

이런 형식으로 10개짜리를 ?개 많들겠다고 선언 한 것이다. 이것이 가변배열이고, 기본 선언방식은

int arr[][] = new int[10][5];

이게 된다. 즉 5개짜리를 10개를 만들겠다는 소리이다.

 

마지막으로 배열 값을 뽑아오는 코드인데 그 코드는

for(int i=0;i<arr.length;i++){
	System.out.println(arr[i]);
}

이렇게 표시하는 방법과 

for(int i: arr){
	System.out.println(i);
}

상향된 for문을 사용해서 푸는 방법이 있었다.

 

계산기를 푸는 연습 문제는 다른 session에 올려야징

반응형

'부트캠프 > 코트스테이츠 백엔드 코스' 카테고리의 다른 글

회고 10일차  (0) 2023.02.24
회고 9일차  (0) 2023.02.23
회고 7일차  (0) 2023.02.21
회고 6일차  (0) 2023.02.20
회고 5일차  (0) 2023.02.17