패스트캠퍼스 데브캠프 : 남궁성의 백엔드 개발 3기

비기너반 강의 복습 1 | 인터프리터 vs 컴파일러, JDK vs JRE, 라이브러리 vs 프레임워크, JVM, 운영체제

Tech_JINI 2025. 1. 17. 10:42

선택한 언어의 특성을 살려서 코드짜기/프로젝트 하기

 (예시) 자바를 선택했다면, 다형성의 성격을 잘 드러나게 코드짜기

 

코딩테스트를 칠 때, 다른 언어를 쓴다면 그 이유를 명확히 가지기.

 (예시) 파이썬- 인터프리터라서 빠름. 많은 문법 제공

 

 

 

[인터프리터 vs 컴파일러]

자바는 하이브리드(인터프리터, 컴파일러)의 언어이다.

 

인터프리터: 한 줄씩 번역(동시 통역)

컴파일러: 한 번에 번역(통번역), 기다리는 시간이 길지만, 읽는 시간은 짧다.

 

 

빌드하는 과정

JVM : OS 상관없이 코드가 돌아가게 해줌 (호환 걱정X)

자바 어필하기 위해 한 번쯤 자바의 동작과정, JVM 구조 뜯어보기

 

1.     Jvm 읽기 전에 컴파일 먼저 해서 소스코드 통번역

2.     Jvm 안에 들어오면 인터프리터로 읽음

 

Class Loader 부분 조금 더 자세히 보기

 

컴파일한다: 소스코드를 번역한다

빌드한다: build, “내 소스코드를 실행하기 위한 모든 과정

               cf. 빌드 도구(ant, maven, gradle)

 

>> 컴파일 단계는 빌드(과정)에 포함된다.

>> 오류 잡아주는 역할에서의 컴파일은 포함X, 번역 역할에서의 컴파일은 포함O

 

 

메인 메소드는 하나의 프로젝트에 1개여야 한다.

>> 2개 이상일 때 해킹의 위험이 있다.

>> 유지보수 (요구사항들에 따라 계속 관리)

 

메인 메소드가 있는 클래스: 실행용 클래스

 

 

 

[ JDK vs JRE ]

JDK 자바 개발 키트

JRE 자바 런타임 환경 (자바를 실행하는 환경)

>> 요즘은 JDKJRE가 깔려 있다. = RE JDK에 포함되어 있다.

 

서버 한 대에 JDK 여러 버전을 설치할 수 있다.

지금 내 컴퓨터 서버할 수 있다.

 

서버 : Serve(요청받아서 제공) + -er

서버는 24시간 활성화되어 있어야 한다.

 

 

[라이브러리 vs 프레임워크]

라이브러리: 도서관, 내가 선택해서 (기존에 있던 필요한 기능들을) 빌려서 쓸 수 있는 곳

-       표준화되어 있지 않을 수 있다.

 

프레임워크: +, 틀 안에서 일한다

            , 하나의 서비스를 완성할 수 있는데 필요한 것들이 담아져 있는 틀

-       표준화되어 있다.

-       유지보수가 쉽다.

-       보안이 좋다.

-       제공되지 않는 기능을 쓰기 어렵다.

 

 

Spring Framework : 웹 서비스를 제작하는데, 필요한 것들이 있는 틀

-       프론트와 백을 분리

-       객체 관리

 

[JVM]

라이브러리와 프레임워크의 차이 쉽게 설명할 줄 알기 -> 면접 준비도 된다.

 

C언어는 OS에 맞게 따로 설정해야 한다.

자바는 JVM를 사용하여 OS에 종속되지 않는다.

 

 

[운영체제]

운영체제는 하고 싶은 작업을 할 수 있게 도와준다.

                , 사용자가 하드웨어를 건들이지 않고 여러 어플리케이션을 사용할 수 있게 한다.

                  GUI; 그래픽으로 유저에게 소프트웨어를 전달/연결

 

운영체제도 소프트웨어이다.

커널이 중간번역을 도와준다. 커널은 하드웨어에 가깝게 일을 해주는 역할을 한다.

운영체제는 하드웨어를 중간번역하는 커널과 상호작용한다.