[TIL | 내일배움캠프] Java와 객체지향 01

변채주·2025년 9월 15일

Java

목록 보기
1/8

Java - Write Once, Run Anywhere!

Java 언어는 플랫폼 독립성을 가진다.
자바 프로그램은 Javac(Java Compiler, 컴파일러)를 통해 작성된 내용이 바이트코드로 변환되고
이 바이트코드가 각종 OS 환경의 JVM(Java Virtual Machine, 가상환경)으로 얹어진다(=전달)
그럼 JVM이 받은 바이트코드를 해석하고 내용물을 실행시키게 되고, OS 종류에 상관없이 프로그램이 실행되게 된다.

이 Javac와 JVM 같은 도구를 모아둔게 JDK다.

JDK (Java Development Kit)  ← Java 개발에 필요한 모든 것 포함
 ├── JRE (Java Runtime Environment)  ← Java 실행 환경
 │   ├── JVM (Java Virtual Machine)  ← 바이트코드 실행
 │   ├── Java 라이브러리 (rt.jar 등)  ← 필수 API 제공 (java.lang, java.util 등)
 │   ├── 클래스 로더 (Class Loader)  ← .class 파일 로드
 │
 ├── Javac (Java Compiler)  ← .java → .class 변환
 ├── 기타 개발 도구 (디버거, Javadoc 생성기, JAR 도구 등)

향상된 for문

//arr 배열에서 0번째 값부터 하나씩 꺼내 for문을 수행함
for (int a : arr) {
	System.out.println("값 : " + a)
}

Getter/Setter

Getter - 속성을 가져오는 기능
Setter - 속성을 설정하는 기능
(이전 메서드를 구성할 때 사용했었던 getName()/setName()이 예시 중 하나이다.)

JVM 메모리 구조

객체는 Heap 영역에 실질적으로 저장된다.
main Stack 영역에서 변수를 호출하면 Heap 영역에 저장되어 있는 변수의 주소를 참조한다.(직접 가져오는 거 아님!!)

profile
우당탕탕얼레벌레 개발 일지

0개의 댓글