캡슐화
"민감한" 데이터를 사용자에게 비노출
캡슐화 장점
클래스 안 데이터의 직접 수정을 막고 메서드로만 변경 허용
1. 데이터 보호
2. 내부적으로만 작동하는 코드 숨김
캡슐화 방법
1. 클래스 안 속성(=변수)을 private으로 설정.
※ private 수정자 :동일 클래스에서만 접근 가능.
2. private 설정된 속성에 접근 방법 :
public 설정된 get/set 메서드 통해서만 허용.
자바는 클래스 등을 생성할 때, 일반적으로 public을 디폴트 되어있다.
public class Test{
String name;
int age;
}
public
모든 곳에서 접근 가능
public class Test{
private String name;
private int age;
}
private
자기 자신 클래스에서만 접근 가능
클래스의 멤버 변수의 접근제어자를 private로 변경하게 된다면 클래스의 외부에서 직접적 접근이 불가해진다
✅ private
해당클래스 내부에서만 접근 가능
public class Test{
private String name;
private int age;
}
public String getName(){
}
public String setName(){
}
public int getAge(){
}
public int setAge(){
}
대신, 멤버변수의 getter, setter를 만들어줌
해당 클래스에서 마우스 우클릭(alt+shift+s) ▶ source ▶ getter,setter 선택
// setter : 멤버변수에 값을 설정
// getter : 멤버변수로부터 값을 받아올 수 있도록 해줌
외부에서 직접적으로 멤버변수의 값에 접근할 수는 없으나,
getter,setter를 인지하고 있으면 값을 바꿀 수 있다!
=> 제어자 == "캡슐화"
private을 하는 이유
하나의 코드를 여러 개발자들이 동시에 작업
=> 오류 발생 시 어떤 액션 + 어떤 기능에서 발생했는지를 기록해주기 때문에
'Language > JAVA' 카테고리의 다른 글
[JAVA 기초 이론] 예외처리 try / catch / finally (0) | 2023.05.21 |
---|---|
[JAVA 기초 이론] 추상클래스 abstract (0) | 2023.05.19 |
[JAVA 기초 이론] 상속 extends (0) | 2023.05.18 |
[JAVA 기초 이론] 멤버변수 static (0) | 2023.05.18 |
[JAVA 기초 이론] 컬렉션 프레임워크: 배열리스트 (0) | 2023.05.18 |