Java 인터뷰 질문 요약
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- Java 개발자 및 인터뷰 준비자
- 난이도: 중간 (OOP 개념, JVM 메커니즘, 메모리 구조 등 핵심 개념 정리)
핵심 요약
- Java 핵심 특징: 객체지향, 플랫폼 독립성, 다중 스레드 지원,
JVM
기반의Bytecode
로 인해 "Write Once, Run Anywhere" 가능 - OOP 4대 원칙:
Polymorphism
(정적/동적),Inheritance
(단일, 계층, 혼합),Encapsulation
(데이터 숨기기),Abstraction
(인터페이스와 추상화) - JVM 메모리 구조:
Class Area
(클래스 정보),Heap
(객체 저장),Stack
(메서드 실행),Native Method Stack
(네이티브 메서드),Program Counter
(실행 지시어 주소)
섹션별 세부 요약
1. Java의 핵심 특징
Object-Oriented
(모든 것 객체로 처리),Platform Independent
(JVM을 통해 플랫폼 독립성 보장)Multithreading
지원 (동시 실행 가능),Secure
(런타임 시 보안 검증)
2. JVM과 Bytecode 메커니즘
.java
→javac
컴파일러 →.class
(Bytecode) →JVM
(플랫폼별 기계어로 변환)JVM
은 플랫폼 종속적,Bytecode
는 플랫폼 독립적
3. Java 플랫폼 구성 요소
Java Virtual Machine
(JVM): 플랫폼 종속적Java API
: 네트워킹, 보안, XML, 데이터베이스 등 다양한 클래스 포함Development Tools
: 컴파일, 디버깅, 문서화 도구 제공
4. OOP 4대 원칙
Polymorphism
:
- Static Polymorphism (컴파일 시 결정, Method Overloading
)
- Dynamic Polymorphism (런타임 시 결정, Method Overriding
)
Inheritance
: 단일, 계층, 혼합 유형 존재Encapsulation
:Data Hiding
(접근 제한자 활용)Abstraction
:Interface
로 정의,Design Level
에서 구현
5. ClassLoader와 메모리 구조
ClassLoader
3가지 유형:
- Bootstrap ClassLoader
(JRE/lib/rt.jar)
- Extension ClassLoader
(JRE/lib/ext)
- Application ClassLoader
(CLASSPATH, -classpath
옵션)
JVM Memory Areas
:
- Class Area
(클래스 정보 저장)
- Heap
(객체 저장)
- Stack
(메서드 실행, StackOverflowError
발생 가능성)
- Native Method Stack
(네이티브 메서드 저장)
6. Thread-Safety 문제
++
연산자는Thread-Safe
아님 (값 읽기, 증가, 저장 과정에서 동시성 충돌 가능성)
결론
- 인터뷰 준비 시 OOP 원칙, JVM 메커니즘, 메모리 구조, ClassLoader 동작 방식을 구체적으로 설명할 수 있도록 예제와 코드를 준비하세요.
Polymorphism
과Inheritance
의 차이,StackOverflowError
발생 원인,ClassLoader
의 3가지 유형을 중점으로 학습해야 합니다.