WIL 항해 2주차
이번주 느낀점:
이번주차는 알고리즘 문제를 저번주에 이어 계속 풀어보았고 주특기 수업을 시작하였다.
걷기반을 신청했지만 달리기반을 넘어 끝 54번문제까지 다 풀어보았고 그러면서 java의 문법에 조금 익숙해질 수 있었다.
알고리즘 풀이 초기에는 string과 list, array의 차이에 대해 조금 헷갈리는 것이 있었지만 알고리즘 문제를 풀기 위해 많이 사용하다 보니 잘 사용하고 익숙해지게 되었다.
알고리즘 테스트를 보고 나서는 본격적으로 Spring을 배우기 시작했다. 기존에 몽고디비와 파이썬을 통해 하던 일들을 자바를 통해 조금 더 자세하게 다루는 느낌이었다. jpa, dto 등 많은 내용을 한꺼번에 배우다 보니 조금 혼란스러웠지만 일단 듣고 모르는 내용을 다시 한번 들어보기로 계획하였다.
목요일에는 cs스터디에서 2진수에 대해 발표하였다. 처음 준비하였을 때에는 학과 논리회로 수업때 배운 1의 보수법, 2의 보수법, 2의 보수법 계산, 그래이코드, BCD코드 등만을 발표하여 하였지만 준비하다보니 욕심이 생겨 네트워크 쪽도 엮어 발표하였다. classfull/classless ip주소, subnetwork, nat 등을 발표하였다.
발표준비를 하면서 기존에 배웠던 내용을 다시 한번 정리하고 내것으로 만드는 느낌이 들어 좋았다.
이번주 KeyWord:
객체지향프로그래밍이란?
객체지향 프로그래밍(Object Oriented Programming)은 문제를 여러 개의 객체 단위로 나눠 작업하는 방식을 말한다.
일반적으로 객체지향 프로그래밍은 객체지향 프로그래밍의 네 가지 특징(추상화, 캡슐화, 상속, 다형성)을 골고루 사용해 코딩 하는 프로그래밍을 객체지향이라고 하기에 오직 클래스만을 이용해 코딩 하는 방식은 객체지향 프로그래밍이 아니다. (클래스단위 프로그래밍이라고 부른다.)
절차지향형프로그래밍: 문제를 여러 개의 함수로 나누어 순차적으로 해결
객체지향형프로그래밍: 문제를 여러 개의 객체로 나누어 해결
JVM이란?
Java Virtual Machine: OS에 종속받지 않고 CPU 가 Java를 인식, 실행할 수 있게 하는 가상 컴퓨터이다.
자바는 컴파일러가 바로 기계어로 번역해 주는 것이 아닌 jvm이 인식할 수 있는 .class형태로 번역한다. 그러고는 jvm이 기계가 이해할 수 있는 bytecode로 바꾸어준다.
자바는 무엇을 코딩하던 jvm이 필요하기에 용량이 극단적인 기계들 (간단한 전자기기)에는 부적합하다.