[Java 문법 종합반]2주차 7장

기 원·2025년 2월 28일

Java 문법 종합반

목록 보기
9/9

1. 객체지향의 4가지 특징 PART1


1. 캡슐화

  1. 캡슐화란 객체의 정보를 외부에서 직접 접근하지 못하게 보호하는 개념
  2. 클래스 혹은 객체의 캡슐화는 접근제어자를 통해 구현

2. 캡슐화의 필요성

  1. 정보 보호와 안전한 접근
  2. 내부 정보의 외부 유출 방지

3. 접근제어자(Access Modifier)

  1. 접근제어자는 클래스, 변수, 메서드, 생성자의 접근 범위를 제안하는 키워드

4. 데이터 접근 - Getter & Setter


1. 캡슐화가 잘 적용된 클래스는 내부 데이터를 private으로 보호
2. 안전한 접근방법으로 getter,setter

5. 무분별한 세터의 사용

public class DataStore {
    String store;
}
DataStore dataStore = new DataStore();
dataStore.store = "B"; // ❌ 의문의 핵폭발 발생!

만약 store 변수에 문자열 "B"가 들어오면 핵폭발이 발생하는 시스템이 있을때, 동요 개발자가 실수로 "B"를 입력해서 폭팔이 일어났다면 누구에게 책임이 있는가?

  • 코드를 작성한 사람이 미연에 방지하지 않은 잘못!

접근제어자를 통해 데이터를 보호하고, Setter를 활용하고, 안전한 데이터 설정 로직을 추가하여 위와 같은 불상사를 미연에 방지 하여야 한다.

이러한 처리를 하지 않은체 그저 Setter만 무분별하게 사용하는것은 지양해야 한다.

그저 Setter하나만 딱 작성 해 두고 캡슐화, 안전성이 강화되었다 이런 말이 아니란 이야기다.

profile
노력하고 있다니까요?

0개의 댓글