///////
Search

접근제한자와 정보은닉

작성 날짜
2022/09/26 07:31
작성자
제어자(modifier)
클래스와 클래스 멤버 (멤버변수, 메서드) 에 부가적인 의미 부여 (형용사같은의미)
제어자의 종류 2개
접근 제어자의 경우 4개 중에 하나의 대상만 사용 가능함
접근 제어자 예제
class A { private int a; // 전용 int b; // 디폴트 public int c; // 공용 } public class Test { public static void main(String args[]) { A obj=newA(); //객체생성 obj.a = 10; // 전용 멤버는 다른 클래스에서는 접근 안 됨 obj.b = 20; // 디폴트 멤버는 접근할 수 있음 obj.c = 30; // 공용 멤버는 접근할 수 있음 } }
HTML
복사
접근 제한자 종류
접근 제한자 정리
정보은닉
정보은닉이란?
정보 은닉은 private 키워드를 활용해서 외부에서 클래스 내부의 정보에 접근하지 못하도록 하는 기능 의미
private 변수를 외부에서 접근하게 하려면 public 메서드를 사용하여 값을 입력하거나 읽을 수 있음
이는 클래스 내부의 데이터를 잘못 사용하는 오류를 방지하기 위해 사용됨
정보은닉 필요성
class Circle { private double rad = 0; final double PI = 3.14; public Circle(double r){ setRad(r); } public void setRad(double r) { //Setter if(r < 0) { rad = 0; return; } rad = r; } public double getRad() { //Getter return rad; } public double getArea() { ... } } public static void main(String args[]) { Circle c = new Circle(1.5); System.out.println(c.getArea()); c.setRad(2.5); System.out.println(c.getArea()); c.setRad(-3.3); System.out.println(c.getArea()); c.rad = -4.5 //컴파일 오류 System.out.println(c.getArea()); }
HTML
복사