언어/JAVA
[JAVA] 접근지정자(AccessModifier)
hvoon
2022. 9. 7. 17:41
-모든 클래스의 멤버는 현실에 존재하는 대상의 정보로써 직접적인 접근이 허용되는 것과 허용되면 안되는 정보가 있음.
-접근 지정자는 클래스의 멤버들에 대한 접근을 제어하는 키워드
-클래스의 멤버필드/메소드는 접근지정자(private, protected, public)에 의해서 외부에서의 접근을 제어할 수 있음.
-접근지정자를 사용하지 않는 경우 기본지정으로 public이 설정되며 클래스외부에서의 임의의 사용으로 값을 대입하거나 얻을 수 있음.
-이는 멤버필드의 값이 강제로 수정될 수 있다는 뜻
-이를 방지하고 무분별한 접근을 막기위해 멤버변수에 private를 지정함
class Account{
private double balance; // 계좌정보 클래스에 잔액이 저장된 멤버변수
// private 멤버에 접근할 수 있는 권한은 내부에 있는 메서드에만 허용됨
public void display() {
// 멤버메서드에 보통 public으로 지정해서 멤버변수값을 세팅하거나
// 얻어쓰는 방식으로 운용함
System.out.printf("현재 잔액은 %.2f원 입니다.\n",balance);
} // 잔고 확인 가능
public void initBanance(int i) {
balance=i;
}
public void withraw(int i) {
balance-=i;
}
public void deposit(int i) {
balance+=i;
}
}
public class Class01 {
public static void main(String[] args) {
Account a=new Account();
a.initBanance(100000); // 잔액 초기화
a.display(); // 화면에 잔액 표시
// 같은 클래스 내부의 멤버메서드끼리는 앞에 객체이름 없이
// 서로를 자유롭게 호출 가능함
a.withraw(5000); // 출금
a.display();
// a.balance=100000;
//private 멤버는 클래스 외부에서는 객체 이름을 통해서도 접근 금지
a.deposit(20000); // 입금
a.display();
}
}