[☕JAVA] 접근 제어자와 캡슐화
접근 제어자가 왜 필요한지, 캡슐화 2대 원칙이 무엇인지, 그리고 static과 어떻게 조합되는지 코드 레벨로 정리합니다.
이 카테고리 안의 글을 최신순으로 훑어볼 수 있도록 제목과 설명을 함께 보여줍니다. 먼저 눈에 들어오는 글부터 읽거나, 하위 카테고리 단위로 내려가며 연속해서 읽으면 흐름을 잡기 쉽습니다.

접근 제어자가 왜 필요한지, 캡슐화 2대 원칙이 무엇인지, 그리고 static과 어떻게 조합되는지 코드 레벨로 정리합니다.

List<String>, Optional<T>, Map<K, V> — Java 코드 어디서나 보이는 꺾쇠 괄호. 제네릭을 모르면 Spring, 컬렉션, 람다 어느 것도 제대로 이해하기 어렵다. 제네릭의 탄생 배경부터 와일드카드, 타입 소거까지 완전히 정리해보자! 왜 제네릭이 필요한가? 🤔 Java 1.5 이전, ...

멀티스레드를 공부하다 보면 Lock, synchronized, volatile 같은 키워드가 쏟아진다. 그런데 그 전에 한 가지 질문을 먼저 해야 한다. “왜 Lock이 필요한가?” 그 답이 바로 불변 객체를 이해하는 데서 시작된다. 멀티스레드의 전제 지식인 불변 객체를 제대로 익혀보자. 불변 객체란 무엇인가? 🤔 불변 객체(Immutable ...

“예외 처리는 그냥 try-catch 감싸면 되는 거 아닌가요?” 면접에서 이렇게 생각했다간 Checked/Unchecked 차이, 예외 계층 구조를 물어보는 순간 막힌다. 이론적으로 한 번 제대로 정리해보자! Java 예외 계층 구조 🌳 Java에서 예외는 아래 계층 구조를 따른다. 이 트리를 머릿속에 넣어두면 이후 내용이 훨씬 쉽게 이해된다...

이번 포스팅에서는 절차 지향 프로그래밍에서 출발해 점진적으로 코드를 개선하며 진정한 객체 지향 프로그래밍이 무엇인지 익혀먹어 보자. 절차 지향 vs. 객체 지향 🤔 프로그래밍 패러다임은 크게 두 가지로 나눌 수 있다. 절차 지향 프로그래밍 (Procedural Programming) 실행 순서, 즉 “어떻게” 동작할지...

자바를 깊이 이해하기 위해 반드시 넘어야 할 산, 바로 기본형과 참조형의 차이이다. 이 개념을 확실히 잡아야 변수가 메모리에서 어떻게 동작하는지, 왜 어떤 값은 메서드 안에서 바뀌고 어떤 값은 바뀌지 않는지 명확히 알 수 있다. 이번 포스팅에서 확실하게 익혀 먹어보자. 기본형 vs. 참조형: 무엇이 다른가? 🤔 자바의 변수 타입은 크게 기본형(...

자바의 핵심 개념인 클래스가 왜 필요한지, 그리고 클래스를 통해 어떻게 데이터를 효과적으로 관리할 수 있는지 단계별로 알아보자 자바 세상은 클래스(Class)와 객체(Object)로 이루어져 있다. 그만큼 클래스와 객체라는 개념은 정말 중요함! 이 두 가지를 한번에 이해하기 쉽지 않다. 예시를 보며 천천히 개념을 익혀먹어 보자. 클래스는 왜 필...