[JAVA] 자바 독학기 #1 - 자바 이해하기 (feat. 얄팍한 코딩사전)
자바 이해하기
난 분명히 프론트엔드 개발자로 이 회사에 입사했다.
그리고 프론트엔드 개발보다 더 많은 시간을 정부과제로 인한 서류업무에 썼고
종종 대전, 제주 출장을 다니며
소프트웨어 인증시험만 세 가지 종류를 진행해보았고
조금이지만 안드로이드 네이티브 앱도 다뤄봤고
지금은 Node.js로 백엔드도 하고 있고
이제는 외주업무도 하게 되었는데,
그 대형 사이트를 스프링부트와 타임리프로 해야한다 ~!
정말 다이나믹하네 🤷♀️

어쨌든 자바를 해야 그 일을 할 수 있을테니 질 좋은 강의들을 찾아다녔고
(예전에 안드로이드 할 때는 너무 촉박해서 자바를 천천히 공부하지 못했다..)
얄팍한 코딩사전에서 제공하는 무료 강의가 매우 괜찮길래 이거다! 싶어서 결정하게 되었음
그리고 공부한 내용 복기 겸 블로그에 끄적여볼까 한다.
> 개념과 용어
자바는 컴파일 언어!
사람이 작성한 코드를 컴퓨터가 읽을 수 있도록 컴파일(번역) 해서컴퓨터에게 그 번역한 파일을 전달함
하지만,윈도우, Mac, 리눅스는 각각 다르게 컴파일을 해줘야 하는 문제가 있음
이를 해결해 주는 것이 자바 가상 머신(JVM)
자바 파일을 JB(자바 바이트코드)로 변환된 번역본을 JVM에 전달하면
JVM은 이 번역본을 각 컴퓨터들에게 현지어로 지시를 내리게 됨
자바가 실행될 기기에 JVM만 설치 되어있으면 해결
* JVM, JRE와 JDK
JRE(Java Runtime Environment)
자바 실행 환경
JVM이 파견되어 일하는 현지 식당이라고 보면 됨
표준 라이브러리와 각종 설정 파일도 포함함
JDK(Java Development Kit)
개발자가 자바로 프로그래밍을 할 수 있도록 도와주는 자바 개발 키트!
JVM은 JRE에 포함되며
JRE는 JDK에 포함되어 있다.
JDK에는 그 외에도 컴파일, 디버그, JAR도구, 프로파일러 등이 포함되어 있음
내가 자바로 프로그래밍을 할 컴퓨터, 스프링이 실행될 서버에 JDK가 설치되어 있어야 하는 이유임
> 실행, 빌드 및 환경 설정
* 둘의 차이 알고가기
javac 명령어 : 해당 파일을 컴파일
java 명령어 : 해당 파일을 실행
* 실행
프로그램에서 run 시키면 out 폴더 생성되고 그 안에 컴파일된 Main.class 들어있음
실행 단축키: shift + F10
오타를 낸 채로 run을 하면?
build가 실패하는데, 이 build 과정은 실행하기 전 단계로 컴파일 등을 포함함
번역 단계에서 거절된다는 뜻!
인텔리제이는 번역된 파일을 실행함
--> 컴파일러 언어의 특징!
* 빌드
실행을 하지 않고 Build만 진행할 수 있음.
실제 업무를 할 때 .jar 파일 등을 만들기 위한 용도로 쓰임
(Build가 이런 뜻이었구나. 막 눌렀었는데)
빌드 단축키: ctrl + F9
* .idea 폴더
인텔리제이가 어떻게 빌드, 컴파일, 실행할지 설정 파일들을 저장해둔 곳
* 기본 코드 자동생성 단축어
psvm
public static void main(String[] args) {
}
sout
System.out.println();