본문 바로가기
01.Bit 단기/Java

05_캡슐화

by chojju 2021. 11. 29.
반응형
//Start.java

public class Start {
	
	public static void main(String[] args)	{
		Account acc = new Account("홍길동", 1000);
		acc.Print();
		
		acc.InputMoney(1000);
		acc.Print();
	}
}​
//Account.java

//data 클래스
public class Account {
	//1. 필드 구성 
	private final String name;
	private int    id;
	private int    balance;
	private static int s_id = 1000;
	
	//2. 생성자 구성
	//   오버로딩 구조 가능, 가능하면 this()로 구현을 통합 
	public Account(String name){		
		this(name, 0);		//this를 이용한 생성자 호출개념
	//	this.name = name;
	//	this.balance = 0;
	//	this.id = s_id;
//		s_id = s_id + 10;
	}
	
	public Account(String name,  int balance){
		this.name = name;	
		this.setBalance(balance);
		this.id = s_id; 
		s_id = s_id + 10;
	}

	
	//3. get & set 메서드 구성 
	public String getName() {
		return name;
	}
	public int getId() {
		return id;
	}

	public int getBalance() {
		return balance;
	}

	private void setBalance(int balance) {
		this.balance = balance;
	}	

	//4. 메서드 
	public void InputMoney(int value)  { balance += value; }
	public void OutputMoney(int value) { balance -= value; }
	public void Print() { 
		System.out.printf("[이름]%10s, [번호]%10d, [잔액]%10d원\n",
				name, id, balance);
	}
}
반응형

'01.Bit 단기 > Java' 카테고리의 다른 글

07_기본문법  (0) 2021.11.29
06_상속성 다형성  (0) 2021.11.29
04_배열  (0) 2021.11.29
03_foreach  (0) 2021.11.29
02_문자열  (0) 2021.11.29

댓글