1. 알고리즘
여러 가지 알고리즘 문제를 풀면서 리스트나 배열들을 다루는 함수, String함수 반복문과 조건문 등 자바 문법에 친해지는 계기가 되었다. 프로그래머스에서 여러 가지 문제를 풀고 저녁에 팀원들끼리 모여 본인이 맡은 문제를 설명하면서 더 효율적인 알고리즘은 무엇이 있을지 찾아보는 시간도 있었다. 반목 문과 조건문은 다른 언어에서 많이 접해서 인지 괜찮았지만 자바만의 함수를 쓰는 것에는 어려움을 겪었다. 다양한 문제들을 풀면서 이제는 자바의 리스트나 배열 여러 가지 문법에 대해서 조금이나마 이해를 한 주였다.
2.Spring
목요일 밤 알고리즘이 끝나고 금요일 아침부터 Spring에 관한 주특기 입문 주가 왔다. 서버를 이제 python이 아닌 자바와 스프링을 이용하여 만드는 방법을 배웠다. 데이터베이스의 한 종류인 h2-Database, SQL문을 스프링에서 쉽게 사용하게 해 주는 JPA, 클래스에서 생성자와 getter와 setter를 쉽게 만들어주는 Lombok과 같은 코드를 짤 때 도와주는 여러 가지 라이브러리를 배웠다. 또, 데이터베이스에 필수인 데이터가 만들어지는 시간, 수정된 시간을 알려주는 timestamp 그리고 정해진 시간마다 원하는 코드를 돌려주는 스케줄러를 배웠다.
3. 객체 지향 프로그래밍
자바언어의 큰 특징 중인 하나가 객체지향 프로그래밍 언어라는 것이다. 객체지향 프로그래밍은 데이터를 객체로 취급하여 Class를 활용하여 각각의 기능별로 구성하여 이를 나중에 하나로 합쳐 프로그램을 완성한다. 이렇게 객체 별로 개발이 가능하여 팀 프로젝트에서도 유리한 장점을 가지며 코드의 재사용을 할 수 있을 뿐만 아니라 코드의 변경이 용이하고 유지보수에 좋다. 그리고 상속과 다형성 캡슐 화등을 이용하여 확장에도 매우 용이하다.
4.JVM
JVM은 자바 바이트코드를 실행하는 실행기로서 다른 언어들을 직접적인 기계어로 변환하는 것이 아니라 자바언어를 JVM이 이해하는 자바 바이트코드로 번역한다. 그러므로 JVM만 깔려 있으면 밑의 그림과 같이 자바 애플리케이션은 JVM 하고만 상호작용을 하기 때문에 OS와 하드웨어에 독립적이라 다른 OS에서도 프로그램의 변경 없이 실행이 가능하다.
'WIL' 카테고리의 다른 글
이노베이션 캠프 6주차 WIL (0) | 2022.07.31 |
---|---|
이노베이션 캠프 5주차 WIL (0) | 2022.07.24 |
이노베이션 캠프 4주차 WIL (0) | 2022.07.17 |
이노베이션캠프 3주차 WIL (0) | 2022.07.10 |
이노베이션 캠프 1주차 WIL (0) | 2022.06.26 |