Back-end

[JAVA] 자바 독학기 #1 - 자바 이해하기 (feat. 얄팍한 코딩사전)

리스보아 2023. 8. 18. 19:18
반응형

 

자바 이해하기

 

 

난 분명히 프론트엔드 개발자로 이 회사에 입사했다.

그리고 프론트엔드 개발보다 더 많은 시간을 정부과제로 인한 서류업무에 썼고

종종 대전, 제주 출장을 다니며

소프트웨어 인증시험만 세 가지 종류를 진행해보았고

조금이지만 안드로이드 네이티브 앱도 다뤄봤고

지금은 Node.js로 백엔드도 하고 있고

이제는 외주업무도 하게 되었는데,

그 대형 사이트를 스프링부트와 타임리프로 해야한다 ~!

정말 다이나믹하네 🤷‍♀️

어쨌든 자바를 해야 그 일을 할 수 있을테니 질 좋은 강의들을 찾아다녔고

(예전에 안드로이드 할 때는 너무 촉박해서 자바를 천천히 공부하지 못했다..)

얄팍한 코딩사전에서 제공하는 무료 강의가 매우 괜찮길래 이거다! 싶어서 결정하게 되었음

그리고 공부한 내용 복기 겸 블로그에 끄적여볼까 한다.

 


> 개념과 용어

자바는 컴파일 언어!

사람이 작성한 코드를 컴퓨터가 읽을 수 있도록 컴파일(번역) 해서컴퓨터에게 그 번역한 파일을 전달함

 

하지만,윈도우, Mac, 리눅스는 각각 다르게 컴파일을 해줘야 하는 문제가 있음

이를 해결해 주는 것이 자바 가상 머신(JVM)

 

자바 파일을 JB(자바 바이트코드)로 변환된 번역본을 JVM에 전달하면

JVM은 이 번역본을 각 컴퓨터들에게 현지어로 지시를 내리게 됨

자바가 실행될 기기에 JVM만 설치 되어있으면 해결

JVM (얄팍한 코딩사전)

 

* JVM, JRE와 JDK

 

JRE(Java Runtime Environment)

자바 실행 환경

JVM이 파견되어 일하는 현지 식당이라고 보면 됨

표준 라이브러리와 각종 설정 파일도 포함함

 

JDK(Java Development Kit)

개발자가 자바로 프로그래밍을 할 수 있도록 도와주는 자바 개발 키트!

 

JVM은 JRE에 포함되며

JRE는 JDK에 포함되어 있다.

JDK에는 그 외에도 컴파일, 디버그, JAR도구, 프로파일러 등이 포함되어 있음

내가 자바로 프로그래밍을 할 컴퓨터, 스프링이 실행될 서버에 JDK가 설치되어 있어야 하는 이유임

JDK와 JRE (얄팍한 코딩사전)

 

> 실행, 빌드 및 환경 설정

 

* 둘의 차이 알고가기

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();

 

 

반응형