본문 바로가기
  • 코딩, 허쌤이 떠먹여 줄게

BackEnd/Java32

13장. 스레드 & 네트워크(기초) 13장. 스레드 & 네트워크(기초)프로세스와 스레드프로세스(Process)란?프로세스는 실행 중인 프로그램입니다. 각 프로세스는 독립적인 메모리 공간을 가집니다.프로세스의 특징독립적인 메모리 공간: 각 프로세스는 별도의 메모리 영역을 가짐프로세스 간 통신 어려움: 프로세스 간 데이터 공유가 어려움컨텍스트 스위칭 비용 큼: 프로세스 전환 시 오버헤드가 큼독립 실행: 한 프로세스의 오류가 다른 프로세스에 영향 없음스레드(Thread)란?스레드는 프로세스 내에서 실행되는 실행 단위입니다. 하나의 프로세스는 여러 스레드를 가질 수 있습니다.스레드의 특징공유 메모리: 같은 프로세스 내 스레드들이 메모리를 공유경량: 프로세스보다 생성/전환 비용이 적음동시 실행: 여러 스레드가 동시에 실행 가능의존성: 한 스레드의 .. 2026. 1. 3.
12장. 메모리 구조 & JVM 이해 12장. 메모리 구조 & JVM 이해JVM 구조JVM이란?JVM(Java Virtual Machine)은 Java 바이트코드를 실행하는 가상 머신입니다. Java 프로그램은 JVM 위에서 실행되며, 플랫폼 독립성을 제공합니다.JVM의 역할바이트코드 실행: .class 파일을 실행메모리 관리: 메모리 할당 및 가비지 컬렉션플랫폼 독립성: 운영체제에 맞게 바이트코드를 기계어로 변환보안 관리: Java 프로그램의 안전한 실행 보장JVM 구조┌─────────────────────────────────┐│ Java Application │├─────────────────────────────────┤│ Class Loader │ ← 클래스 로딩├.. 2026. 1. 3.
11장. 입출력(IO) & 파일 처리 11장. 입출력(IO) & 파일 처리입출력이란?입출력(I/O)의 개념입출력(Input/Output)은 프로그램과 외부 환경(파일, 네트워크, 키보드, 모니터 등) 간의 데이터 교환을 의미합니다.입출력의 종류표준 입출력: 콘솔(키보드, 모니터)을 통한 입출력파일 입출력: 파일을 통한 데이터 저장 및 읽기네트워크 입출력: 네트워크를 통한 데이터 교환스트림 개념스트림(Stream)이란?스트림은 데이터가 흐르는 통로입니다. Java에서는 모든 입출력이 스트림을 통해 이루어집니다.스트림의 특징단방향: 입력 스트림과 출력 스트림이 분리됨순차적: 데이터가 순서대로 처리됨연속적: 데이터가 연속적으로 흐름스트림의 종류1. 바이트 스트림 (Byte Stream)단위: 바이트(byte) 단위로 데이터 처리용도: 이미지, 동.. 2026. 1. 2.
10장. 예외 처리 10장. 예외 처리예외(Exception) 개념예외란?예외(Exception)는 프로그램 실행 중 발생하는 오류나 비정상적인 상황입니다. 예외가 발생하면 프로그램이 중단될 수 있으므로, 적절한 처리가 필요합니다.예외의 종류1. 컴파일 오류 (Compile Error)문법 오류로 인해 컴파일 시점에 발견되는 오류예: 세미콜론 누락, 괄호 불일치2. 런타임 오류 (Runtime Error)프로그램 실행 중 발생하는 오류예: 배열 인덱스 초과, null 참조3. 논리 오류 (Logic Error)프로그램은 실행되지만 의도한 대로 동작하지 않는 오류예: 잘못된 계산식예외 클래스 계층 구조Throwable├── Error (시스템 오류, 복구 불가능)└── Exception (예외, 처리 가능) ├── Ru.. 2026. 1. 2.
9장. 컬렉션 프레임워크 9장. 컬렉션 프레임워크컬렉션 프레임워크 개요컬렉션이란?컬렉션(Collection)은 여러 객체를 저장하고 관리하는 자료구조입니다. 배열과 달리 크기가 동적으로 변경되며, 다양한 자료구조를 제공합니다.배열의 한계// 배열의 문제점int[] numbers = new int[5]; // 크기가 고정됨// numbers[5] = 10; // 오류! 크기를 넘어섬컬렉션의 장점동적 크기: 필요에 따라 크기가 자동으로 조정됨다양한 자료구조: List, Set, Map 등 다양한 구조 제공편리한 메서드: 추가, 삭제, 검색 등 편리한 메서드 제공타입 안정성: 제네릭을 사용하여 타입 안정성 보장컬렉션 프레임워크 구조Collection (인터페이스)├── List (인터페이스)│ ├── ArrayList│ └.. 2026. 1. 2.
# 8장. 객체지향 핵심 개념 8장. 객체지향 핵심 개념객체지향 프로그래밍의 4대 핵심 개념객체지향 프로그래밍(OOP)의 핵심은 다음 4가지 개념으로 구성됩니다:캡슐화 (Encapsulation): 데이터와 메서드를 하나로 묶어 관리상속 (Inheritance): 기존 클래스를 확장하여 새로운 클래스 생성다형성 (Polymorphism): 하나의 인터페이스로 여러 형태 구현추상화 (Abstraction): 복잡한 것을 단순하게 표현캡슐화 (Encapsulation)캡슐화란?캡슐화는 데이터와 그 데이터를 처리하는 메서드를 하나의 클래스로 묶는 것입니다. 외부에서 데이터에 직접 접근하지 못하도록 하고, 메서드를 통해서만 접근할 수 있게 합니다.캡슐화의 목적데이터 보호: 외부에서 데이터를 직접 변경하는 것을 방지데이터 검증: setter .. 2026. 1. 1.