Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

ki-sd 님의 블로그

[2026-04-09] 내부 클래스, 멀티 쓰레드(Multi-Thread), 그리고 네트워크 기초 본문

JavaStudy

[2026-04-09] 내부 클래스, 멀티 쓰레드(Multi-Thread), 그리고 네트워크 기초

ki-sd 2026. 4. 17. 21:32

클래스의 구조적 유연성을 높이는 내부 클래스를 정리하고, 하나의 프로그램에서 여러 작업을 동시에 수행하는 멀티 쓰레딩의 세계에 진입했다.

 

1. 내부 클래스(Inner Class)의 활용

  • 클래스 내부에 선언되는 멤버 클래스, static 클래스, 지역 클래스, 익명 클래스의 선언 위치와 생명주기 차이를 분석했다. 외부에는 불필요한 클래스를 숨기고(캡슐화), 내부 클래스는 외부 클래스의 멤버에 자유롭게 접근할 수 있는 구조적 이점을 확인했다.

2. 멀티 쓰레드(Multi-Thread) 구현 아키텍처

  • Thread 클래스를 직접 상속받는 방식과, Runnable 인터페이스를 구현하여 Thread 객체에 주입하는 방식을 비교했다. 자바는 다중 상속이 불가능하므로, 유연한 확장을 위해 주로 Runnable 구현 방식을 채택해야 함을 이해했다.
  • 무분별한 쓰레드 생성은 메모리 부족(OOM)과 컨텍스트 스위칭(Context Switching) 비용을 폭증시키므로, 미리 정해진 개수의 쓰레드만 생성하여 재사용하는 쓰레드 풀(Thread Pool)의 필요성과 동작 원리를 학습했다.

3. 네트워크 프로그래밍 기초

  • URL(Uniform Resource Locator)과 URI의 구조를 파악하고, 클라이언트와 서버 간의 데이터 요청 규격을 이해했다.
  • 웹 통신 시 한글이나 특수문자가 포함된 파라미터가 전송될 때 발생하는 데이터 손실을 막기 위해, URLEncoder를 사용해 문자열을 안전한 포맷(UTF-8)으로 인코딩하는 필수 데이터 전처리 과정을 실습했다.