상세 컨텐츠

본문 제목

[JAVA] 기초 - 접근 제어 지시자

JAVA/Java 기초

by 미로910 2024. 5. 20. 12:24

본문

💡 1. 접근 제어 지시자란?
     2. 접근 제어 지시자에 종류를 알아 보자.

접근 제어자 - 정보 은닉, 캡슐화

객체의 각각의 상태값은 직접 변수를 통해서 변경하는 것이 아닌 기능(행위, 메서드)을 통해서 변경하게 설계 해야 한다.

1. 접근 제어 지시자란?

클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드

2. 접근 제어 지시자에 종류를 알아 보자

  • public —> 어디에서든 접근 가능 함.
  • default —> 같은 패키지 내에서 접근 가능
  • protected ← 상속 배운 이후
  • private —> 해당 .java 안에서만 접근이 가능하다.
// 은행
public class Bank {
	
	// 아무것도 지정하지 않으면 default 제어 지시자이다.
	// private 클래스 안에서만 사용이 가능하다.
	String name;
	int balance;   
	
	// 입금하다. 
	public void deposit(int money) {
		balance = balance + money;
		showInfo();
	}
	
	// 출금하다. 
	public int withdraw(int money) {
		// 방어적 코드를 작성 
		if(balance < money) {
			System.out.println("잘못된 요청입니다.");
			return 0;
		}
		balance = balance - money;
		showInfo();
		return money;
	}
	
	// 현재 은행의 총 잔액을 출력 하다. 
	public void showInfo() {
		System.out.println("현재 잔액은 : " + this.balance + " 입니다.");
	}
}
public class BankTest {

	// 코드의 시작점 
	public static void main(String[] args) {
		
		Bank bank1 = new Bank();
		bank1.name = "우리은행";
		bank1.deposit(10_000); // deposit 리턴타입 --> void --> 값을 받을 수 없음? why?
		int getMoney = bank1.withdraw(10_000); // withdraw 리턴 타입 --> int --> 값을 받을 수 있음  
		System.out.println(">>>>>> 출금 >>>>>>>>>");
		System.out.println("금액 : " + getMoney);
		

	} // end of main 

} // end of class

실행 결과______

관련글 더보기