[Java] 정보은닉 (Information Hiding)

zerokick·2023년 6월 19일
0

Java

목록 보기
10/12
post-thumbnail

정보은닉 (Information Hiding)


정보은닉이란?

다른 객체에게 자신의 정보(멤버변수)를 숨기고, 자신의 동작, 기능, 연산(멤버함수)만을 통해 접근을 허용하는 것으로, 클래스 외부에서 특정 정보에 대한 접근을 막는다는 것을 의미한다.

setter, getter

정보 은닉된 정보에 접근하기 위한 메서드

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;
    }
}

생성자를 이용한 객체 초기화

1

public class PersonVO {
    public String name;
    public int age;
    public String phone;
    
    // 멤버변수 초기화
    public PersonVO() {
        this.name = "이름";
        this.age = 0;
        this.phone = "전화번호";
    }
}

2. 오버로딩을 통한 초기화

public class PersonVO {
    public String name;
    public int age;
    public String phone;
    
    // 멤버변수 초기화
    public PersonVO() {
        this.name = "이름";
        this.age = 0;
        this.phone = "전화번호";
    }
    // 오버로딩
    public PersonVO(String name, int age, String phone) {
        this.name = name;
        this.age = age;
        this.phone = phone;
    }
}

toString() 메서드로 객체값 출력하기

public class PersonVO {
    public String name;
    public int age;
    public String phone;
    
    public String toString() {
        return this.name + "\t" + this.age + "\t" + this.phone;
    }
}
        System.out.println(personVO.toString());    // dean	32	010-0000-0000
        System.out.println(personVO);               // dean	32	010-0000-0000

객체 출력 시 toString() 생략하여도, 컴파일러는 toString() 메서드를 찾아서 호출한다.

profile
Opportunities are never lost. The other fellow takes those you miss.

0개의 댓글