2024년 4월 24일 수요일 개발일지 / 연산자에 대해서

2024. 4. 24. 20:43나의 개발자 기록/본 캠프 개발 일지

2024년 4월 24일 수요일


오전에 들었던 강의들

 

오늘은 일단 어제 듣다 말았던 2주 차 강의들을 바로 이어서 들었습니다. 제어문과 반복문에 대해서도 빠르게 다시 들으면서 배열과 컬렉션에 대해서도 들었습니다. 배열 같은 경우에는 사전 캠프 때 복습도 많이 해서 익숙한데, 컬렉션 같은 경우에는 처음 보는 것들이 많더라구요. 컬렉션은 배열과 비슷한 자료 구조를 가지고, List나 Dictionary, stack 등등 다양한 것들이 있다는 사실을 알았습니다. 하나하나 일일이 공부하고, 복습하고 확인하기에는 개인 과제 제출이 내일까지인데, 하필 개인 과제를 수행하기 위해서는 최대한 4주 차 강의까지 달려가야 했기에 전부 다 보기에는 무리가 있어서 일단은 대충 어떤 건지만 알고 진행을 했습니다.

 

그다음에는 메서드와 구조체에 대해서 강의를 들었습니다. 그전에 강의 이야기를 하기에 앞서 어제 튜터님께서 메소드라고 설명을 해주셨는데, 다른 곳이나 국립국어 표기에서는 메서드가 정식 명칭이라는 이야기를 들어서 저 또한 메서드로 칭하려고 합니다. 본론으로 돌아와 사전 캠프 때 함수에 대해서도 공부했었기 때문에 메서드의 초반 부분은 충분히 잘 넘어갔습니다. 새로운 개념인 메서드 오버로딩이나 재귀 호출 등등도 이런 게 있구나 하며 어떻게든 빠르게 넘어갔습니다.

 

그렇게 2주 차 과제를 진행하는데, 나중에 시간이 날 때 하려고 건너뛰고, 제출해야 할 게임 과제인 숫자 맞추기 게임과 틱택토 만들기가 있었습니다. 숫자 맞추기 게임은 강의 때 튜터님께서 같이 실습을 하셨기 때문에 문제가 없었지만 틱택토 만들기부터 좀 많이 힘들더군요. 그 뭐랄까 강의에서 배웠던 내용들에 대해서는 어느 정도 이해는 되고 실습했던 기초 내용들도 이해가 가지만, 과제에서 무언가를 만들라고 할 때, 뭐부터 해야 할지, 지금까지 배운 내용들을 어떻게 활용해야 할 지에 대해서 감도 안 잡혔습니다. 그래서 튜터님께 여쭤 본 결과, 일단은 무언가를 만들려고 할 때, 맵을 어떻게 할지, 구조는 어떻게 만들지 등등에 대해서 계획을 짜면 좋다고 하셨습니다. 그래서 저도 틱택토 만들기를 생각해서 만들려고 시도해봤으나 구조를 어떻게 짜야할지 몰라 시간이 너무 많이 소요되었습니다. 그래서 강의 과제에 시간을 너무 들이게 되면 개인 과제를 못 하는 경우가 생기기 때문에, 이번 틱택토는 풀이를 보고 이해하면서 일단은 넘어갔습니다.


연산자에 대해서

 

오후에는 이성언 튜터님께서 C# 체크리스트 Day3 연산자 파트에 대해 강의를 해주셨습니다. 형은 형태, 모습, 모양새 등등을 가리키고, 식은 연산자를 가리키며, 문은 그러한 식을 가지고 문법적으로 다루는 것이라고 말씀해 주셨습니다. 오늘 가르쳐주신 내용은 연산자에 대해서인데, 산술연산자, 할당연산자, 단항연산자, 비교연산자, 논리연산자, 그리고 마지막으로 비트연산자에 대해서 가르쳐주셨습니다. 비트연산자를 제외하고는 사전 캠프 때 많이 공부했었기도 하고, 또 주말에 따로 C# 문법에 대한 복습을 블로그 글로 남길 생각이기 때문에 이번에는 비트연산자에 대해서만 남길까 합니다.

 

비트연산자란?

 

- 비트 연산자는 데이터의 비트(bit) 단위로 연산을 수행하는 연산자이고, 2진법을 사용합니다.

2번 세는 것으로 자릿수가 계속 바뀐다!

- 비트 연산자를 사용하는 이유는 나누기 연산이나 나머지 연산을 쉽게 할 수 있다!

- 비트 연산자는 10진법으로 바꿀 수 있기 때문에 계산을 할 때, 2를 곱하면 비트 연산자에서는 왼쪽으로 한 칸씩 밀면 된다.


비트 연산자 - 단축평가

 

- 기본적인 && 논리 연산자는 앞에 부분이 거짓이면 뒷부분은 계산을 하지 않지만, 비트 연산자의 &는 앞부분이 거짓이라도 뒷부분도 계산을 한다.

 

 

비트 연산자 - 게임활용

 

- 비트 연산자는 게임에서도 활용될 수 있는데, 위의 사진이 그 예시이다. 레이어나 태그에 비트에도 비트가 관련되어 있고, 상태 이상과 같은 것들을 비트로 불러오게 된다면 매우 편하게 처리할 수 있다.


오후에 들었던 강의와 개인 과제 제출에 대한 각오

 

튜터님의 연산자 파트 강의가 끝나고 나서는 3주 차 강의인 클래스와 객체에 대해서와 상속, 다향성, 고급 문법 및 기능에 대해서 공부했습니다. 이번 파트도 실습하는 데 있어서 어렵진 않았지만, 강의 과제 부분이 너무 어려웠기 때문에 대충 넘어가고 바로 4주 차 강의도 듣고, 저녁을 먹은 후, 마저 다 들었습니다. 여러 가지 새로운 내용이 많아서 솔직히 말하자면 개인 과제보다 오늘 배운 내용들을 계속 반복 복습을 하고 싶었지만, 개인 과제를 안 할 수는 없었기 때문에 일단은 내용을 어느 정도 듣고 개인 과제에 대한 계획을 세운 다음에 막히는 부분이 있다면 찾아보는 식으로 해결하려고 계획했습니다. 이게 아는 내용도 있었지만, 2일 만에 새로운 내용들을 머릿속에 집어넣고, 바로 과제에 활용하려고 하니까 뇌정지가 오는 게 아닌가 하는 생각이 듭니다. 원래 같았으면 강의를 한번 정주행 하고, 복습 겸 다시 한번 보고 해야 공부가 잘되는데, 과제 제출 시간이 빠듯한지라 빠르게 정주행 하고, 오늘 밤샐 각오로 개인 과제를 진행할 까 합니다. 모르는 것이 있다면 다른 분들에게 도움을 구하던지, 튜터님께 도움을 요청하든지 해서 어떻게 해서든 과제를 제출하고자 합니다!! 파이팅!