Encapsulation 캡슐화
변수와 메소드를 하나의 단위로 bundling 하는 것
클래스의 인스턴스를 생성해서 클래스 내부의 멤버변수와 메소드에 접근
Information hiding
프로그램의 구현된 세부사항을 은닉하여 직접 호출하거나 수정할 수 없게 보호하는 것
예제
public class Person {
private int age;
private String name; //private로 외부 접근 제한
public int getAge() {
return age;
} //외부 read용 getter
public void setAge(int age) {
this.age = age;
} //외부 write용 setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person();
Person p2 = new Person(); //person p1 인스턴스생성 및 초기화
p1.setAge(29);
p1.setName("YOON");
p2.setId(22);
p2.setName("KIM"); //setter로 외부에서 write
System.out.println(p1.getId()); //getter로 외부에서 read 호출
System.out.println(p1.getName());
System.out.println();
System.out.println(p2.getId());
System.out.println(p2.getName());
}
}
'development > Codestates' 카테고리의 다른 글
[SEB 43]섹션2 회고 & 두달동안 코드스테이츠를 진행하며 느낀 점 (0) | 2023.02.10 |
---|---|
코드스테이츠 벡엔드 43기 Section 1 회고 (0) | 2023.01.11 |
23.01.02 bergerQueen만들기-1 (2) | 2023.01.03 |
22.12.30 22.12.29 객체지향 프로그래밍 심화-2 (0) | 2022.12.31 |
22.12.29 객체지향 프로그래밍 심화-1 (2) | 2022.12.29 |