항해99 12기 2주차 WIL

HEUKWU·2023년 1월 22일
1

조건문과 반복문

조건문과 반복문은 코딩의 기본이 되는 가장 기본적이면서도 중요한 문법이라고 생각한다. 조건문과 반복문을 얼마나 적재적소에 잘 활용하느냐가 훌륭한 코드를 작성하는 키 포인트인것 같다. 내가 이 파트를 공부하면서 가장 햇갈렸던 것은 조건문과 반복문을 사용한다면 가장 중요한 break문과 return문 이었다.

break

가장 가까이에 있는 하나의 반복문을 벗어나기 위해 사용한다.
(break문을 만나면 해당 반복문을 즉시 탈출한다.)

return

해당 메서드를 탈출하는데 사용한다.
특히 break와 return이 가장 햇갈렸는데 break는 반복문의 탈출이고 return은 메서드의 탈출이다. return문을 만나면 반복문을 포함하고 있는 메서드 그 자체를 탈출하고 종료시킨다.

알고리즘 문제를 풀면서도 break와 return을 잘 활용해야 보다 효율적이고 깔끔한 코드를 작성할 수 있는것 같다.
뭐든지 헷갈리거나 어렵다면 익숙해질 때까지 반복하는 방법밖에 없다고 생각한다. 알고리즘 문제를 풀면서도 break와 return을 잘 구분하면서 많이 써본다면 금방 익숙해질 것이라고 생각한다.


배열

배열도 처음 공부했을때 익숙해지기 어려웠다. 특히 배열의 인덱스를 이용하는것이 헷갈렸는데 인덱스의 시작은 0이라는 것이 익숙하지 않아서 그랬던것 같다. 알고리즘 문제를 풀면서 배열을 활용하는 문제가 정말 많은데 0부터 시작하는 인덱스 때문에 힘들었던 적이 매우 많다. 또 다차원 배열까지 사용한다면 더욱 헷갈려진다. 배열도 역시 당연히 알아야하고 중요한 문법이기 때문에 반드시 익숙해져야한다. 알고리즘 문제를 많이 풀어보면서 익숙해져야한다.

객체지향

자바는 대표적인 객체지향언어이다. 객체지향 언어라서 가지고 있는 장점이 매우 많은데 객체지향의 대표적인 특징인 캡슐화, 상속, 다형성, 추상화로 코드의 재사용성을 높일 수 있고 유지보수가 매우 쉬워진다.
하지만 그만큼 개념도 어렵고 복잡해 익숙해지기가 힘들다.
일단 객체는 object, 말 그대로 세상에 실재하는 모든 것을 의미한다. 예를들어, TV를 객체라고 본다면 TV객체의 속성은 크기, 길이, 높이, 색 등이 될 것이고, 기능은 켜고 끄기, 볼륨 조절, 채널 변경 등이 될 것이다. 객체지향 프로그래밍에서는 객체의 속성을 변수로, 기능을 메서드로 표현한다. 또 그 객체의 설계도라고 볼 수 있는 class라는 개념이 있다. 처음 공부할 때는 모든 개념이 처음 마주하는 것이다보니 받아들이기 정말 어려웠던것 같다. 강의와 책을 번갈아가면서 많이 반복했지만 아직 어려운건 마찬가지다. 하지만 나중에 spring프레임워크를 이해하고 활용하기 위해서는 객체지향의 이해가 필수적이기 때문에 계속해서 반복해야 한다. 객체지향의 특징을 살린 코드들을 보면서 열심히 뜯어보고 분석하면서 익숙해지기위해 노력할 것이다.


어느덧 항해를 시작한지 2주가 지났다. 프로젝트가 많았던 1주차는 정말 정신없이 보냈지만 이번주는 언어공부주차라 살짝 힘들었던것 같다. 항해를 시작하기전 언어공부를 조금 하다와서 복습하는 시간이었다보니 집중하기 힘들었던것 같다. 마침 담임매니저님과 면담시간이 있었는데 매니저님께서 이럴 때 그날 분량을 빨리 마치고 알고리즘 공부를 하라는 조언을 해주셨다. 또 마침 과제로 제출하고 있는 문제들이 항해 시작전 사전스터디때 풀었던 문제들이라 빨리 풀 수 있었고 알고리즘 공부에 더 매진했던것 같다. 하지만 언어공부를 하고 왔다고 완벽하게 정리가 되어있는 것은 아니라서 언어공부도 개념위주로 빠르게 복습을 했다. 혼자 공부했을때 가장 힘들었던 객체지향파트는 다시봐도 여전히 어려웠고 그만큼 복습도 열심히 했다.

0개의 댓글

관련 채용 정보