AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

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 메커니즘

  • .javajavac 컴파일러 → .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 동작 방식을 구체적으로 설명할 수 있도록 예제와 코드를 준비하세요.
  • PolymorphismInheritance의 차이, StackOverflowError 발생 원인, ClassLoader의 3가지 유형을 중점으로 학습해야 합니다.