JAVA 핵심 요약 자바는 실전이다
1. 자바의 철학과 실행 원리 (WORA)
자바는 "한 번 써서 어디서든 실행한다"는 철학이 가장 중요합니다.
- 창시자: 제임스 고슬링 (Sun Microsystems)
- 핵심 가치: WORA (Write Once, Run Anywhere)
- 실행 프로세스: 1. .java (소스 코드) 작성 2. javac로 컴파일 3. .class (바이트코드, 중간 언어) 생성 4. JVM이 각 운영체제(OS)에 맞춰 해석 후 실행
- 핵심 도구:
- JDK: 개발 도구 (JRE 포함, 컴파일러 있음) ── 우리가 설치하는 것
- JRE: 실행 환경 (JVM 포함, 라이브러리 있음)
- JVM: 가상 머신 (바이트코드를 OS 명령어로 번역) ── 자바의 심장
2. 메모리(JVM)와 자동 관리(GC)
자바가 메모리를 어떻게 쓰는지 알면 성능이 보입니다.
- 메모리 영역 (딱 2개만 기억해도 절반은 성공!):
- Stack: 메서드 실행, 기본형 변수 저장. (금방 쓰고 버리는 곳)
- Heap: new로 만든 객체/배열 저장. (오래 머무는 곳, GC의 대상)
- Method Area: 클래스 설계도, static 변수 저장.
- GC (Garbage Collection): * "Heap 영역에서 더 이상 나를 찾는 곳이 없는 객체를 자동으로 치워줌."
- Eden → Survivor → Old 순서로 객체가 이동하며, 최근에는 성능이 좋은 G1 GC가 기본입니다.
3. 객체지향 4대 천왕 (OOP)
자바의 모든 것은 '객체'로 이루어져 있습니다.
- 캡슐화: private과 Getter/Setter를 통해 내부 데이터를 보호함.
- 상속: 부모의 기능을 물려받아 재사용함 (extends).
- 추상화: 복잡한 건 숨기고 중요한 특징(메서드)만 추출함.
- 다형성 (★가장 중요): 부모 타입으로 자식 객체를 다루는 것.
- Animal a = new Dog(); (타입은 부모지만, 실행되는 행동은 실제 객체인 강아지 기준)
4. 데이터 다루기 (자료형 & 문자열)
- 기본형(Primitive): 값 자체를 Stack에 저장 (int, double, boolean 등).
- 참조형(Reference): 주소값을 Stack에, 실제 데이터는 Heap에 저장 (String, List 등).
- String의 비밀: * 한 번 정해지면 안 변함 (불변성).
- 내용이 같은지 비교할 때는 주소 비교(==)가 아니라 **.equals()**를 사용함.
5. 실무 필수 문법 (예외, 컬렉션, 람다)
- 예외 처리: try-catch로 에러가 나도 프로그램이 멈추지 않게 방어막을 침.
- 컬렉션 프레임워크: * List (ArrayList): 순서대로 데이터를 담을 때 사용.
- Generic (<T>): 타입을 미리 지정해서 컴파일 시점에 에러를 잡아냄.
- 람다 (Lambda): 익명 클래스 대신 () -> { } 형태의 짧은 코드로 함수를 표현함. (가독성 폭발!)
최종 암기 포인트 (이것만은 꼭!)
- 객체는 Heap, 지역변수는 Stack에 산다.
- JVM 덕분에 윈도우에서 짠 코드가 리눅스에서도 돌아간다.
- 메모리 관리는 GC가 알아서 해주니 객체 지향 설계에 집중하자.
- 참조형 데이터 비교는 무조건 **.equals()**다.

'TECH' 카테고리의 다른 글
| 자바 알고리즘 기본 개념 익히기(7)-DFS & BFS (0) | 2026.05.18 |
|---|---|
| 비전공자도 이해하는 자바(Java) 핵심 요약: 코딩 입문 가이드 (0) | 2026.04.24 |