[ 학습목표 ]
- 캡슐화(Encapsulation)의 개념을 익히고, 데이터를 보호하는 방식 학습
- Getter/Setter 메서드를 통해 클래스 내부 데이터에 안전하게 접근
- private, public 키워드의 역할과 사용법 숙지
[ 이론 ]
1. 캡슐화(Encapsulation)
클래스 내부의 데이터를 숨기고, 메서드를 통해 접근하게 만드는 객체지향의 핵심 원칙
2. 관련 키워드
- private: 외부에서 접근 불가 (정보 은닉)
- public: 외부에서 접근 가능
- getXxx(): 필드 값을 안전하게 가져오는 메서드
- setXxx(): 필드 값을 검증하고 설정하는 메서드
3. 왜 사용하는가?
- 잘못된 값을 직접 넣는 실수를 방지할 수 있음
- 유지보수와 보안성이 올라감
- 유효성 검사 등을 setter에서 처리 가능
[ 실습 미션 ]
✅ 실습 1: Book 클래스 캡슐화
package day5;
public class Book {
private String title;
private String author;
// 생성자 함수
public Book(String title, String author) {
this.title = title;
this.author = author;
}
// getter, setter
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public void printInfo() {
System.out.println("제목: " + title + ", 저자: " + author);
}
}
✅ 실습 2: Main 클래스에서 사용하기
package day5;
public class Main {
public static void main(String[] args) {
Book book = new Book("자바의 정석", "남궁성");
// Getter 사용
System.out.println("책 제목: " + book.getTitle());
// Setter 사용
book.setTitle("Effective Java");
book.setAuthor("조슈아 블로크");
// 출력 확인
book.printInfo();
}
}
[ 메모 ]
- 캡슐화를 하는 이유: 유지보수와 보안성, 잘못된 값을 저장하는 것을 방지, setter를 통해 유효성 처리 가능
- 캡슐화란? 클래스 내부의 데이터를 숨기고, 메서드를 통해 데이터에 접근하는 방식
- 캡슐화에서 사용되는 키워드: private, public
- private은 외부에서 접근 불가하다. public은 외부에서 접근이 가능하다.
- private인 경우, getter와 setter를 사용해야한다.
- get 메서드는 필드 값을 안전하게 가져오고, set 메서드는 필드 값을 검증하고 설정한다.
- getter, setter 사용 방법 예시는
- public String getTitle() { return title; }
- public void setTitle (String title) { this.title = title; }
'개발 공부 > Java | SpringBoot' 카테고리의 다른 글
[Java/ChatGPT] Day 7: 생성자 오버로딩 (Constructor Overloading) (0) | 2025.06.16 |
---|---|
[Java/ChatGPT] Day 6: static 키워드와 클래스 변수/메서드 이해하기 (0) | 2025.06.15 |
[Java/ChatGPT] Day 4: 컬렉션(Collection)과 ArrayList 완전 정복 (0) | 2025.06.09 |
[Java/ChatGPT] Day 3: 객체 배열과 반복문 활용하기 (0) | 2025.06.09 |
[Java/ChatGPT] Day 2: 클래스와 객체, 메서드 (0) | 2025.06.09 |