-
[JAVA] 접근지정자(AccessModifier)언어/JAVA 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(); } }
'언어 > JAVA' 카테고리의 다른 글
[JAVA] This (0) 2022.09.07 [JAVA] 생성(Constructor) (0) 2022.09.07 [JAVA] Class (0) 2022.09.07 [JAVA] Overloading (0) 2022.09.07 [JAVA] for문 (0) 2022.09.07