캡슐화:
관련있는 변수와 함수를 하나의 클래스로 묶고 외부에서 쉽게 접근하지 못하게 하는 은닉(정보은닉)
객체가 제공하는 필드와 메소드를 통해서만 접근 가능
메소드 접근 지정자
public: 모든 객체에서 접근 가능
protected: 동일한 패키지 안에서 사용가능, 다른 패키지라도 상속받은 클래스에는 접근 가능
default: 접근제어자가 없는 형태로 동일한 패키지 안에서만 접근 가능
private: 동일한 클래스 안에서만 접근 가능, this를 사용하는 것은 외부에서 접근 불가능, 상속도 안됨
capsule.java
public class capsule {
public static void main(String[] args) {
// TODO Auto-generated method stub
String Member[][] = {
{"홍길동", "23", "123-4567", "서울시", "동창" },
{"성춘향", "19", "145-5678", "남원시", "여사친" },
{"정수동", "25", "189-1234", "부산시", "선배" }
};
// 종이를 3장 준비
MemberDto member[] = new MemberDto[3];
// 기입할 수 있도록 준비
for (int i = 0; i < member.length; i++) {
member[i] = new MemberDto();
}
// 추가
member[0].setName("짱구");
member[0].setAge(5);
member[0].setPhone("123-4567");
member[0].setAddress("서울시");
member[0].setContent("조카");
// 읽어들인다
System.out.println(member[0].getName());
System.out.println(member[0].getAge());
System.out.println(member[0].getPhone());
System.out.println(member[0].getAddress());
System.out.println(member[0].getContent());
}
}
===========================================================
짱구
5
123-4567
서울시
조카
MemberDto
public class MemberDto {
private String name;
private int age;
private String address;
private String phone;
private String content;
public MemberDto() {
}
public MemberDto(String name, int age, String address, String phone, String content) {
super();
this.name = name;
this.age = age;
this.address = address;
this.phone = phone;
this.content = content;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
public void setName(String name) {
this.name = name;
}
public: 어디서든 접근 가능
void: 리턴값이 없음
setName: 메소드 이름
String name: 매개변수
this.name: member클래스 내에 있는 private String name
public String getName(){
return name;
}
String: 리턴값의 데이터타임
getName: 메소드 이름
return: 리턴
name: member클래스 내에 있는 private String name에 저장되어 있는 값
'Java' 카테고리의 다른 글
[Java] For (0) | 2022.04.10 |
---|---|
[Java] File (0) | 2022.04.10 |
[Java] Continue (0) | 2022.04.10 |
[Java] Constructor(생성자) - 후에 다시 작성 (0) | 2022.04.10 |
[Java] Casting (0) | 2022.04.10 |
댓글