Java 의 정의와 동작 방식
순수 객체 지향 언어의 특징
- 추상화, 다형성, 캡슐화, 상속
- 모든 사전 정의 데이터 타입과 사용자 정의 타입은 객체여야 함
- 객체에 대한 모든 작업은 객체 스스로 정해야 함
Java 가 지키지 못한 순수 객체 지향 언어의 특징
- 원시 타입(Primitive Type)
- 정적 메서드(Static Method)
- 래퍼 클래스(Wrapper Class) 또한 Auto Boxing/Unboxing 을 통해 원시 타입 변수 사용
- Java 는 OOP 를 위해 설계되었지만 일부 절차적인 요소가 있는 언어
Java 아키텍처

- Java 플랫폼
- SE, EE, ME 등 JDK 를 구현한 제품
- 일반적으로 Java 개발 및 실행 환경을 의미
- 흔히 JDK 보다 더 넓은 의미로 사용
- JDK (Java Development Kit)
- 자바 개발 킷 (JRE + Development Tools)
- JRE (Java Runtime Environment)
- JVM (Java Virtual Machine)
- 자바 가상 머신 (프로그램 작동)
- Java 바이트코드를 기계어로 변환하고 실행
- JVM < JRE < JDK
JDK 구성 요소

JDK (+ JRE)