Backend/Java 4

자바의 컬렉션 프레임워크(Collections Framework)

컬렉션 프레임워크(Collections Framework): 자료구조의 정석1. 개요 (Overview)1.1 정의컬렉션 프레임워크(Collections Framework)란 다수의 데이터(객체)를 쉽고 효과적으로 처리할 수 있도록 표준화된 인터페이스와 클래스의 집합입니다.쉽게 말해, "데이터를 저장하는 자료구조(Data Structure)와 이를 처리하는 알고리즘(Algorithm)을 구조화하여 제공하는 API"입니다.1.2 핵심 구조 (Hierarchy)자바의 컬렉션은 크게 두 가지 뿌리로 나뉩니다.Collection 인터페이스: 하나의 데이터 덩어리를 다룸 (List, Set, Queue)Map 인터페이스: 키(Key)와 값(Value)의 쌍을 다룸 (Map)Map은 구조상의 차이로 인해 Colle..

Backend/Java 2025.12.17

JVM이란

JVM(Java Virtual Machine): 자바가 OS에 독립적인 이유1. 개요 (Overview)1.1 정의JVM(Java Virtual Machine, 자바 가상 머신)은 자바 바이트코드(.class 파일)를 OS(운영체제)가 이해할 수 있는 기계어로 변환하여 실행해 주는 가상의 컴퓨터입니다.1.2 핵심 슬로건"Write Once, Run Anywhere" (한 번 작성하면, 어디서든 실행된다.)JVM은 자바 애플리케이션과 일반 운영체제 사이의 중개자(Intermediary) 역할을 수행합니다.2. 등장 배경 (Background)2.1 기존 언어(C/C++)의 한계Java가 등장하기 전, C나 C++ 같은 언어는 컴파일된 실행 파일이 특정 OS에 종속적이었습니다.윈도우에서 컴파일한 .exe 파..

Backend/Java 2025.12.15

객체지향언어란 무엇이고 왜 JAVA가 객체지향언어인가

객체지향 프로그래밍(OOP)이란? 왜 자바는 객체지향 언어인가?1. 개요 (Overview)1.1 정의객체지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그램을 단순히 데이터와 처리 방법(로직)으로 나누는 것이 아니라, '객체(Object)'라는 독립적인 단위들의 모임으로 파악하고, 이 객체들이 서로 메시지를 주고받으며 데이터를 처리하는 소프트웨어 개발 패러다임입니다.1.2 핵심 철학"현실 세계를 프로그래밍으로 옮겨오다."자동차를 만들 때 바퀴, 엔진, 핸들 같은 부품(객체)을 먼저 만들고 조립하듯이, 소프트웨어도 부품(객체) 단위로 만들어 조립한다는 개념입니다.2. 등장 배경: 절차지향의 한계OOP가 왜 주류가 되었는지 알기 위해선 그 이전인 절차지향(Procedura..

Backend/Java 2025.12.07

자바의 예외 처리

자바의 예외 처리(Exception): 견고한 애플리케이션의 조건1. 개요 (Overview)1.1 정의예외(Exception)란 프로그램 실행 중에 발생하는 예기치 않은 사건(Event)을 말합니다.자바에서는 예외도 하나의 객체로 취급하며, 이를 적절히 처리하지 않으면 프로그램이 비정상적으로 종료됩니다.1.2 예외 처리(Exception Handling)란?예외가 발생했을 때 프로그램이 셧다운(Crash)되지 않고, 로그를 남기거나 대체 로직을 실행하여 정상적인 실행 상태를 유지하도록 만드는 기술입니다.2. 예외 계층 구조 (Hierarchy)자바의 예외는 모두 java.lang.Throwable 클래스를 상속받습니다. 크게 Error와 Exception으로 나뉩니다.Error (에러):시스템 레벨의 ..

Backend/Java 2025.12.01