느리더라도 꾸준히

회고록(9)-배열 본문

(CodeStates)Daily memoir

회고록(9)-배열

테디규 2022. 11. 3. 00:55

1. 지금 현재, 당신의 기분이나 느낌을 표현해 주세요.

그룹에서 다른 동기들과 이야기를 했다. 공감가는 부분도 있었지만, 다른 시각으로 현재 교육이나 개발자에 대한 견해들이 많은 생각을 불러일으켰다. 비슷한 또래가 많았는데, 다들 어떻게 해야 교육을 더 잘 들을수 있나 이런 고민을 하는거 같아서, 최근에 조금 아는 내용나왔다고 헤이해진 내 자신이 조금 부끄러웠다.

그래서 오늘은 그냥 저녁 먹자마자 아무생각도 없이 스터디카페에 갔다. 더블모니터가 있다는 핑계로 집에서 공부를 하려고 했었는데, 그냥 저녁엔 스터디카페를 가는게 베스트인거 같다. 당장은 이 시스템으로 공부해야겠다.

2. 오늘 무엇을 학습한 내용 중 지금 떠올릴 수 있는 단어를 모두 나열해 주세요.

배열, 2차원배열, 메모리과 메모리, 배열의 여러 메서드와 문제들

3. 2에서 작성한 단어를 가지고, 오늘의 학습 내용을 설명해 보세요.

배열

배열을 선언하면, 메모리의 한 주소값을 참조변수에 넣어준다. 그리고 값을 할당시, 주소값부터 점점 인접한 메모리공간을 차지하면서 저장된다.

배열 활용

for, while 과 index를 활용하는 문제

System.arraycopy(), Arrays.copyOf() 등 다양한 메서드를 활용할 수 있었다.

4. 설명하기 어려운 단어가 있다면, 그 이유는 무엇인가요?

사실 배열 자주 써왔기 때문에 크게 어려운 건 없었다.

딱 한문제가 당황스럽게 만들었는데, 배열의 크기는 항상 고정되어 있기에 늘리려고 해본적이 없었다.

int arr = new int[0]; // 빈배열
for(int i=0; i< 10 ; i++){
    arr = Arrays.copyOf(arr, arr.length + 1);
    arr[i]= i;
}
//위 for문에 의해 0, 1 , 2 ... 10 의 크기를 가진 배열로 arr이 생성될 것이다.
//{0,1,2,....9} 

위 코드와 같이, 크기를 하나씩 늘리며 복제하고 값을 넣을수 있다는 점을 배울 수 있었다.

5. 그 단어를 스스로 설명할 수 있기 위해서 누군가에게 질문을 한다면, 어떤 질문을 해야 할까요?

Comments