💡 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
실행 결과______
'JAVA > Java 기초' 카테고리의 다른 글
[JAVA] ver 0.1 Starcraft 만들어보기 (0) | 2024.05.20 |
---|---|
[JAVA] 기초 - this 3가지 사용 방법 (0) | 2024.05.20 |
[JAVA] 기초 - 객체지향 패러다임 (0) | 2024.05.20 |
[JAVA] 기초 - 생성자(constructor) (0) | 2024.05.20 |
[JAVA] 기초 - RunTime Data Area (0) | 2024.05.20 |