티스토리 뷰
정보 은닉(Information Hiding)이란 ?
다른 객체에게 자신의 정보를 숨기고 자신의 동작, 기능, 연산만을 통해 접근을 허용하는 것으로, 클래스 외부에서 특정 정보에 접근을 막는다는 의미
private 접근 제한자 - 객체 사용(접근)할 수 없음, this는 할 수 있음
setter 메서드로 값을 저장하고 set + 멤버변수의 첫 영문을 대문자로 만들기
ex) p.setName();
getter 메서드로 값을 얻어오고 get+ 멤버변수의 첫 영문을 대문자로 만들기
ex) p.getName();
PersonVO p = new PersonVO(); PersonVO() - 생성자 메서드
public class PersonVO {
private String name;
private int age;
private String phone;
// 생성자 메소드 초기화 -- 생성자 메소드는 입력하지않으면 기본 생성자(default Constructor) 생성자 메서드가 생략되어있음
public PersonVO(){
// 객체를 생성하는 코드는 내부에서 만들어진다.
this.name="홍길동";
this.age=20;
this.phone="010-1234-5678";
}
}
객체생성시 원하는 값으로 초기화 하기
객체생성시 원하는 값으로 초기화 하기
public class PersonVO {
private String name;
private int age;
private String phone;
// 생성자 메소드가 없을 때 자동으로 만들어짐
// 다른 생성자 메소드가 있을 땐 직접 만들어줘야함
public PersonVO(){
// 초기화 없음
}
//생성자의 오버로딩
public PersonVO(String name, int age, String phone){
// 객체를 생성하는 코드는 내부에서 만들어진다.
this.name=name;
this.age=age;
this.phone=phone;
}
// setter 메소드 생략 가능
// Why? 생성자 메소드에서 원하는 값을 넣어줄 수 있기 때문
}
public String toString(){
return this.name +"\t"+age+"\t"+phone;
}
System.out.println(p1.toString());
System.out.println(p1); // vo.toString() 메소드를 찾아서 출력함, toString()을 생략할 수 있다.
잘 설계된 VO 클래스란?
모든 생태정보를 정보은닉하기(private)
디폴트 생성자를 반드시 만들기
생성자 메서드를 오버로딩 하여 객체 초기화 하기
setter 메서드를 만들기(값을 저장용도)
getter 메서드를 만들기(값을 얻기 용도)
toString() 메서드를 만들기(객체가 가지고 있는 전체 값 출력 용도)
'● JAVA > ○ JAVA.CS' 카테고리의 다른 글
Java 기본 개념 16 (static과 JVM 메모리 모델) (0) | 2024.06.12 |
---|---|
Java 기본 개념 15 (배열과 클래스의 관계) (0) | 2024.05.26 |
Java 기본 개념 13 (객체 접근) (0) | 2024.04.15 |
Java 기본 개념 12 (모델 Model) (0) | 2024.03.27 |
Java 기본 개념 11 (클래스 Class) (0) | 2024.03.13 |