console.log("연록")

[기술면접] 8. 자바(JAVA) 본문

etc.

[기술면접] 8. 자바(JAVA)

연 록 2022. 4. 11. 01:11
728x90

1. 자바(JAVA)란?

 

- 자바는 프로그래밍 언어의 하나로 대표적인 객체지향 프로그래밍 언어

- 네트워크상에서 쓸 수 있도록 미국의 선 마이크로 시스템스가 개발

- 2010년 오라클에 인수된 이후 현재는 자바에 대한 유지보수나 관리는 오라클에서 책임지고 있음
- 자바는 Java SE와 JDK/JRE 버전으로 관리됨
- 자바 가상 머신(JVM, Java Virtual Machine)을 사용하여, 운영체제와는 독립적으로 동작 가능

 

 

2. 자바의 장점

 

1) 자바는 운영체제와는 독립적으로 실행 가능
2) 자바는 불필요한 기능을 과감히 제거하여 다른 언어에 비해 배우기가 쉬움
3) 자바는 자동 메모리 관리 등을 지원하여 다른 언어에 비해 안정성이 높음
4) 자바는 연산자 오버로딩을 금지하고 제네릭을 도입함으로써 코드의 가독성을 높임
5) 참고자료 多

 

3. 자바의 단점
 
1) 자바는 실행을 위해 자바 가상 머신을 거쳐야 하므로, 다른 언어에 비해 실행 속도가 느림
2) 자바는 예외 처리가 잘 되어 있지만, 개발자가 일일이 처리를 지정해 줘야 함
3) 자바는 다른 언어에 비해 작성해야 하는 코드의 길이가 긺

 

 

4. JVM, JRE, JDK의 차이

 

* JDK = JRE + @
* JRE는 읽기 전용, JDK 읽기 / 쓰기 전용

 

1) JVM(Java Virtual Machine)

 

- 자바 가상머신(Java Virtual Machine)의 약자
- JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있음

- JVM은 플랫폼에 의존적 (리눅스의 JVM과 윈도우즈의 JVM은 다름. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있음)


- JVM의 역할
① 바이너리 코드를 읽음
② 바이너리 코드를 검증.
③ 바이너리 코드를 실행
④ 실행환경(JRE)의 규격을 제공 (필요한 라이브러리 및 기타파일)

 

 

2) JRE(Java Runtime Environment)

 

- 자바 실행환경(Java Runtime Environment)의 약자

- JRE는 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있음 (JRE는 JVM의 실행환경을 구현했다고 할 수 있음)

- 자바 프로그램을 실행시키기 위해선 JRE를 반드시 설치해야 함
- 하지만 자바 프로그래밍 도구는 포함되어있지 않기 때문에 자바 프로그래밍을 하기 위해선 JDK가 필요


3) JDK(Java Development Kit)

 

- 자바 개발도구(Java Development Kit)의 약자
- JDK는 JRE + 개발을 위해 필요한 도구(javac, java등)들을 포함

- JDK를 설치하면 JRE도 설치됨