TIL - 20250630

juni·2025년 6월 30일

TIL

목록 보기
52/317

📘 0630 자바 학습 정리: 접근 제어자 & 캡슐화

1. 접근 제어자(Access Modifier)

자바에서 멤버(클래스, 필드, 메서드 등)의 접근 가능 범위를 설정할 수 있는 키워드.

접근 제어자동일 클래스동일 패키지하위 클래스전체 접근
public
(default)
private

✅ public

  • 어디서든 접근 가능
  • 대부분의 클래스, 메서드는 public으로 선언

✅ default (접근 제어자 생략)

  • 같은 패키지 내에서만 접근 가능
  • 다른 패키지에서는 접근 불가

✅ private

  • 선언된 클래스 내부에서만 접근 가능
  • 외부에서 직접 접근할 수 없음

2. 캡슐화(Encapsulation)

정의

  • 객체의 상태(필드)를 보호하고, 외부에서 직접 접근하지 못하도록 제한
  • private + getter/setter 조합으로 구현

목적

  • 외부에서 데이터를 함부로 수정하거나 접근하는 것을 막음
  • 코드 유지 보수가 쉬워짐

예시

public class Student {
    private String name;
    private int age;

    // getter
    public String getName() {
        return name;
    }

    // setter
    public void setName(String name) {
        this.name = name;
    }
}

✅ 요약

  • 접근 제어자를 통해 클래스와 멤버의 접근 범위를 설정함

  • 캡슐화를 통해 데이터 보호 및 내부 구현 은닉

  • 실습을 통해 private 필드, getter/setter, 내부 메서드 호출 흐름을 이해함

0개의 댓글