항해99

항해 99 - 2023.01.18 TIL

나도관 2023. 1. 19. 10:30

주특기 입문 주가 시작되었다.

내가 선택한 주특기는 Spring 이기 때문에, Java 기초를 공부하게 되었다.

 

주 교재 내용이 자바의 정석으로 진행된 관계로, 기존에 학습했던 내용에서 확실히 알고 넘어가지 못했던 부분을 중점적으로 공부하는 방식으로 진행해야겠다.

 

 

1일차 학습 주제는 Java 환경셋팅, JVM, 변수, 연산자이다.

1일차를 학습하면서 새롭게 알게되었던 내용을 회고해보고자 한다.

 

인텔리J

그동안 자바 공부에 사용했던 IDE(통합 개발 환경)는 Eclipse 였는데, 항해 측에서 인텔리J 유료버전을 4개월간 무료로 제공해주었다. 

 

기존에 사용했던 JDK를 삭제하고, 항해99의 자바 셋팅 가이드를 따라 Julu JDK 를 설치했다.

시중에는 OpenJDK가 나와있는데, 아직까진 각 JDK에 대한 차이를 모르고 있다. 추후에 내 프로젝트에 적합한 JDK를 선정할 때 좀 더 공부해볼 생각이다.

 

과제를 제출할 때, GitHub를 이용해야했는데 인텔리 J에는 GitHub 계정을 동기화하여 작업을 수행할 수 있는 기능이 내장되어 있었다. GitHub 웹을 열고 닫지 않아도 되어서 아주 편리했다.

 

Eclipse와 단축키가 달라서 조금은 불편했는데, 구글링을 통해서 간단한 단축키들을 세팅하고 사용해보았다. 조금 익숙해지니 단축어들도 검색해서 보여주는 기능이 있어서 Eclipse보다 인텔리J가 더 편리하게 느껴졌다.

 

삼항 연산자

조건문을 대신해서 삼항연산자를 사용할 수 있는 것을 알고 있었는데, 다시 사용해보니 식을 구성하는게 헷갈렸다.

 

int num1 = 5, num2 = 7;
int result;

result = num1 - num2 > 0 ? num1 : num2;

// num1 - num2 > 0 ? num1 : num2;

아래 주석처리된 내용과 같이 코드를 입력했는데, 조건식이 이상이 없는데도 컴파일 에러가 발생해서 의아했다.

true false가 반환되었을 때, 지정된 코드의 결과를 담아줄 수 있는 변수를 지정해주어야 한다!!

 

 

기본형 간의 형변환

배웠던 내용이지만, 사용해야할 때 잘 기억이 나지 않아 확실히 기억해 두려고 한다.

 

숫자 + '0' 문자
문자 - '0' 숫자

숫자 + " " > 문자열
문자 + " " >  문자열

Integer.parseInt("문자열")   문자열 정수
Double.parseDouble("문자열") 문자열 실수

"문자열".charAt(0)  문자열을 문자로

 

이 외에도 다양한 형변환이 존재하지만 이정도만 체크해두고 넘어가도록 하겠다.

 

 

 

주특기 입문 1일차 느낀 점

크게 어렵지 않고 과제량도 많지 않아서 금방 끝낼 수 있었다. 추후에 객체지향이나 컬렉션 프레임워크를 공부할 때 시간을 많이 써야할 것으로 예상되기 때문에, 미리 2일차까지 진도를 빼두었다.

시간이 남는다고 자만하지 말고, 그동안 어렵게 느껴졌던 개념에 대해서 보충 학습을 진행해볼 생각이다.