Daily coding
Java Basic : day 8 - OOP: Class 특징 - 1. 은닉화 본문
Class 특징
1. 은닉화 ( = 캡슐화 )
: 외부와의 차단으로 변수들을 관리할 수 있음
클래스 내부에서만 접근(처리)이 가능하도록 변수의 접근제어자로 제어한다.
< 접근 지정자 >
- public (공개) : 멤버 메소드에 적용, 외부에서 접근이 가능 (같거나 다른 클래스, 다른 패키지)
- private (비공개) : 멤버변수에 적용 (같은 클래스내에서만 접근가능)
- protected(특정) : 상속과 관련된 제어자 (상속받은 클래스에서만 접근,처리가 가능)
MyClass22 cls = new MyClass22();
// cls.number = 1;
// cls.name = "hgd";
// cls.height = 172.1;
// 위의 코드는 MyClass22 의 멤버변수에 직접 접근하는 코드이나
// MyClass22의 변수는 private으로 선언되어 에러가 난다.
cls.input();
// 위의 코드처럼, 클래스의 메소드를 통해서 변수를 접근해야한다.
cls.printing();
cls.setName("졸려");
System.out.println(cls.getName());
}
}
class MyClass22 {
// Lecture02 의 클래스
private int number;
private String name;
private double height;
public void printing() {
System.out.println("number = " + number);
System.out.println("name = " + name);
System.out.println("height = " + height);
}
public void input() {
Scanner sc = new Scanner(System.in);
System.out.println("number = ");
int num = sc.nextInt();
System.out.println("name = ");
String name = sc.next();
System.out.println("height = ");
double height = sc.nextInt();
this.number = num;
this.name = name;
this.height = height;
}
// getter
public String getName() {
return name;
}
// setter
public void setName(String name) {
this.name = name;
}
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 8 - OOP: this 참조 (0) | 2019.11.27 |
---|---|
Java Basic : day 8 - OOP: 생성자 (0) | 2019.11.27 |
Java Basic : day 8 - 객체 지향 프로그래밍 Object Oriented Programming (0) | 2019.11.27 |
Java Basic : day 7 - Example 01 : 메소드로 성적 입출력 프로그램 작성하기 ( CRUD + FileWrite ) (0) | 2019.11.26 |
Java Basic : day 7 - File write 파일 쓰기 (0) | 2019.11.26 |