switch
JAVA OOP 객체지향 프로그래밍 [2. 캡슐화] 본문
캡슐화
특정 객체 안에 관련된 속성과 기능을
하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것임
크게 두 가지 목적이 있는데
1. 데이터 보호의 목적
2. 내부적으로만 사용되는 데이터에 대한 불필요한 외부 노출 방지
캡슐화의 가장 큰 장점은 정보은닉에 있음
외부로부터 객체의 속성과 기능이 함부로 변경되지 못하게 막고
변경되더라도 다른 객체에 영향을 주지 않기 때문에 독립성을 확보 가능
또한 유지보수와 코드 확장 시에도 오류범위를 최소화할 수 있음
접근제어자 (access modifier)
private - 동일 클래스
(default) - 동일 패키지 (기본값)
protected - 동일 패키지 + 다른 패키지의 하위 클래스
public - 제한 없음
getter와 setter 메서드
객체지향의 캡슐화 목적을 달성하면서도 데이터 변경이 필요한 경우.. 즉
private접근제어자가 포함된 객체의 변수 데이터 값을 추가하거나 수정하고 싶을 때
getter와 setter메서드를 사용할 수 있다
예시
public class Test {
public static void main(String[] args) {
Cat cat = new Cat();
cat.setName("솜이");
cat.setAge(1);
String name = cat.getName;
sout(name);
int age = cat.getAge();
sout(age);
}
}
class Cat {
private String name;
private int age;
public String getName() {
return name;
}
public void set Name(String name) {
this.name = name;
}
}
'java' 카테고리의 다른 글
JAVA 제네릭 (0) | 2022.05.19 |
---|---|
JAVA OOP 객체지향 프로그래밍 [4. 추상화] (0) | 2022.05.13 |
JAVA OOP 객체지향 프로그래밍 [3. 다형성] (0) | 2022.05.13 |
JAVA OOP 객체지향 프로그래밍 [1. 상속] (0) | 2022.05.12 |
JAVA 자바의 특징 (0) | 2022.05.04 |
Comments