오전에는 자바 알고리즘 13번까지 풀었다.
문제 중 특정 날짜 간의 기간을 구하는 코드가 필요해서 ChronoUnit을 사용했다. Period와 달리, 기간 전체의 between days를 리턴해준다.
Docs:https://docs.oracle.com/javase/8/docs/api/java/time/temporal/ChronoUnit.html
오후에는 OOP 관련 기술 문서를 읽어보며, 깊이있는 접근을 시도했다.
가장 본질적인 정보는 아래와 같다. (앨런케이는 OOP의 선구자라고 한다😉)
앨런 케이는 세포와 컴퓨터 네트워크에서 영감을 받아 객체 지향의 아이디어를 생각해냈다.
자기데이터를 숨긴 독립된 객체
들이,메시지 소통
을 통해서 소프트웨어를 구성하는 방식이었다.
앨런 케이는 객체 지향 프로그래밍의 본질이
메시징
,캡슐화
,동적 바인딩
이라고 생각했다.
OOP의 선구자인 엘런 케이의 초창기 아이디어에는 OOP의 핵심이라고 할 수 있는 캡슐화, 메시징, 동적 바인딩의 개념이 담겨있었다.
아래는 개인적인 생각으로 틀릴 수 있습니다. 틀릴 시 댓글로 지적해주시면 감사히 받겠습니다 😅
내가 이해한 바로는,
이어서 알고리즘 주차 시작일에 제공되었던 알고리즘 강의를 들었다.
그동안은 어떻게든 구현되는 코드 작성에 초점을 두었으나, 강의를 들으며 점근 표기법 ( 그 중 최악의 상황에서의 성능을 나타내는 빅오표기법)을 배우며 성능적 측면에서의 접근도 한번 더 고려하게 되었다.
GitHub 알고리즘 풀이 업로드 링크
파이썬 알고리즘: https://github.com/Kim-HJ1986/algorithm_Python
자바 알고리즘: https://github.com/Kim-HJ1986/algorithm_Java
오늘의 소소한 이슈는 알고리즘을 풀며 그때 그때 주석처리하여 작성했다.
소소하게 많이 작성하여 깃허브 링크로 대체...
알고리즘 주차 답게 풀어야 할 알고리즘 문제들이 넘쳐난다.
이번 주의 초점은 OOP 개념의 깊이있는 이해와 알고리즘 개념 및 풀이에 익숙해지는 것이다. 즉, 향 후 프로그래밍에 있어 기본기를 다지는 주차라고 생각한다. 항해 선원에게 주말은 없기에... 내일도 화이팅!!!!!