
BEYOND SW캠프에서의 4주차가 마무리되었다. 이제는 일주일이 빠르게 지나간다고 느낀다. 캠프에서 수업을 듣고 복습을 하면 하루가 금방 지나가있다. 이번주는 1차 프로젝트 발표를 하였고 백엔드를 위한 Java 수업을 시작하였다. Java의 초반 부분은 기본적인 문법이라서 크게 어려운 점은 없었지만, 객체를 배우기 시작하고 부터는 이해하기 어려운 문법과 지식이 조금씩 등장하였다.

stack: 자바의 변수와 메소드가 저장이되고 참조 타입이 아닌 원시 타입 변수는 stack에 변수와 같이 저장된다. stack은 LIFO(Last In First Out)으로 데이터를 저장한다.
heap: new가 붙은 값, 객체(인스턴스), 참조형 자료형이 저장된다.
method(static): static이 붙은 변수, 메소드를 저장하며 자바가 프로그램을 시작하자마자 method에 있는 변수, 메소드를 인식한다.
프로그램이 시작할 때부터 끝날 때까지 메모리에 남아있는다.
call by value: 변수에 할당되어 있는 값을 호출, 주소가 아닌 값을 할당한 것이라서 한 값을 참조하는 서로 다른 변수가 있어도 한 변수가 값을 수정한들, 다른쪽 변수 값이 바뀌지 않는다.
call by reference: 할당되어 있는 주소 값을 호출, 같은 주소 값을 가진 서로 다른 변수는 한 변수가 주소에 할당된 값을 수정을 하면 다른 한 쪽도 같이 수정이 된다.
얕은 복사: 다른 변수 메모리에 같은 주소 값을 복사한다는 뜻이다.
그래서 사본이 값을 수정하면 원본도 따라서 값이 수정된다.
깊은 복사: 다른 변수 메모리에 주소가 아닌 값을 복사한다는 뜻이다.
그래서 사본이 값을 수정하더라도 원본이 따라서 값이 수정되지는 않는다.
Java를 공부하면서 어려웠거나 이해가 안되는 내용을 옆자리 팀원과 강사님에게 물어서 확실하게 이해하였고 그 내용을 notion에 꼼꼼히 기록하였다. 이번주는 특별히 어려운 내용이 많지 않아서 새로운 지식도 이해하는데, 크게 어렵지 않았고 기록하는데 있어서도 큰 무리가 없었다.
수업 중에 조는 일이 많아졌다. 아무래도 체력관리를 제대로 하지 못해서 그런 것 같다. 최근에 여러가지 생각들도 많아져서 금방 피로해진 것도 있는것 같다. 수업 때 집중할 수 있도록 체력을 기르고 쉴 때 제대로 쉬는 것도 소홀히 해서는 안될 것같다.
앞으로 나올 Java 지식은 점점 어려운 내용일 것이다.
그때를 대비해 조금이라도 예습을 하는 것이 좋을 것이라 생각한다.
그리고 장기간의 Java 수업과 꾸준한 복습을 위한 체력을 기르는 것과 충분한 휴식도 잊지말아야겠다.
다음주는 수업 중에 조는 상황을 줄여야겠다. 물론, 안조는 것이 제일 좋겠지만, 그거는 사실상 힘든 것같고...
최근들어 여러가지 생각들도 많아졌는데, 생각을 줄이고 몸을 움직이고 공부에 집중하는 시간을 더 많이 가져야겠다.