[코비] 11월 3주차 웹 개발자 면접 예상질문 - Java

최정윤·2023년 11월 14일
0

코비

목록 보기
31/38
post-custom-banner

💡 Java의 특징을 설명해주세요.

Java는 객체지향 프로그래밍 언어입니다.
기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다.
장점
JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이다.
GabageCollector를 통한 자동적인 메모리 관리가 가능하다.
단점
JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리다.
다중 상속이나 타입에 엄격하며, 제약이 많다.

💡 JVM의 역할에 대해 설명해주세요.

JVM은 스택 기반으로 동작하며, Java Byte Code를 OS에 맞게 해석 해주는 역할을 하고 가비지컬렉션을 통해 자동적인 메모리 관리를 해줍니다.

💡 Java의 컴파일 과정에 대해 설명해주세요.

개발자가 .java 파일을 생성한다.
build를 한다.
java compiler의 javac의 명령어를 통해 바이트코드(.class)를 생성한다.
Class Loader를 통해 JVM 메모리 내로 로드한다.
실행엔진을 통해 컴퓨터가 읽을 수 있는 기계어로 해석된다.(각 운영체제에 맞는 기계어)

💡 Java에서 제공하는 원시 타입들에 무엇이 있고, 각각 몇 바이트를 차지하나요?

정수형 byte, short, int, long 실수형 float, double 문자형 char 논리형 boolean이 있고,
정수형 1, 2, 4, 8, 실수형 4, 8, 문자형 2, 논리형 1 바이트를 차지합니다.

[참고자료]

profile
개발 기록장
post-custom-banner

0개의 댓글