강의 내용
[1] 정보 은닉(Information Hiding)
[2] setter, getter 메서드
[1] 정보 은닉(Information Hiding)
다른 객체에게 자신의 정보를 숨기고 자신의 동작, 기능, 연산만을 통해 접근을 허용하는 것
클래스 외부에서 특정 정보에 대한 접근을 막음
객체지향 프로그래밍에서는 객체를 설계 할 때 상태 정보를 정보 은닉 시킴
예) A객체가 B객체의 상태 정보에 마음대로 접근할 수 없도록 막는 것
A는 B의 상태 정보에 접근을 할 수 없음(보이지 않음)
객체 모델링(설계)
객체가 갖는 상태 정보는 중요하기 때문에 외부에서 마음대로 상태 정보에 접근하여 값을 넣지 않도록 은닉(보호)시켜야 함
*public : 은닉을 시키지 않은 상태
*접근 허용 : 마음대로 기억 공간에 접근 가능
public class PersonVO {
public String name;
public int age;
public String phone;
}
public class PersonVO {
private String name;
private int age;
private String phone;
}
객체 생성
PersonVO p = new PersonVO();
객체 사용(접근)
public : 도트 연산자를 통해 접근 가능
private : 도트 연산자를 통해 접근 불가
// public : 접근 가능
p.name = “홍길동”;
p.age = 1000;
p.phone = “010-1111-1111”;
// private : 접근 불가능
// this(자기 자신을 가리키는 객체)는 접근 가능
p.name = “홍길동”;
p.age = 1000;
p.phone = “010-1111-1111”;
[2] setter, getter 메서드
정보 은닉 된 정보에 접근하는 방법
setter
값을 저장하는 역할
set + 멤버변수의 첫번째 영문을 대문자로 작성해야 함
매개변수로 받은 값을 상태 정보에 저장함
매개변수와 클래스가 갖는 이름이 같은 경우 this를 적어야 함
매개변수와 클래스가 갖는 이름이 다른 경우 this 생략 가능
getter
메모리에 저장된 값을 밖으로 보내주는 역할(값을 얻어옴)
get + 멤버변수의 첫번째 영문을 대문자로 작성해야 함
this 생략 가능
this
자기 자신을 가리키는 객체
자기 자신을 가리키는 멤버 변수를 가리키게 되면서 값이 저장됨
멤버변수에 값을 직접 넣는거보다 메서드를 통해 걸러내어 잘못된 데이터가 들어가는 것을 방지할 수 있음
객체 모델링(설계)
public class PersonVO {
private String name;
private int age;
private String phone;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public String getPhone() {
return this.phone;
}
}
객체 생성
PersonVO p = new PersonVO();
객체 사용(접근)
p.setName(“홍길동”);
p.setAge(50);
p.setPhone(“010-1111-1111”);
String name = p.getName();
int age = p.getAge();
String phone = p.getPhone();
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://bit.ly/48sS29N