μΊ‘μν
λ°μ΄ν°(μμ±)μ ν΄λΉ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λ©μλ(λμ)λ₯Ό νλμ λ¨μλ‘ λ¬Άλ κ²μ μλ―Έν©λλ€.
μΊ‘μνλ λ°μ΄ν°λ₯Ό μΈλΆλ‘λΆν° 보νΈνκ³ κ°μ²΄μ λ΄λΆ ꡬνμ μ¨κ²¨ μ½λμ μ μ§ λ³΄μμ±μ λμ΄λ λ° μ€μν μν μ ν©λλ€.
μΊ‘μν ꡬν
μλ°μμ μΊ‘μνλ ν΄λμ€μ νλλ₯Ό privateμΌλ‘ μ μΈνκ³ , μ΄μ μ κ·Όν μ μλ public λ©μλ(getter/setter)λ₯Ό μ 곡νμ¬ λ°μ΄ν° 무결μ±μ 보μ₯νκ³ κ°μ²΄μ λ΄λΆ ꡬνμ μ¨κΈ°λ κ³Όμ μ
λλ€.
μλ°μμ μΊ‘μνλ μ£Όλ‘ λ€μκ³Ό κ°μ λ°©λ²μΌλ‘ ꡬνν©λλ€:
β’
μ κ·Ό μ μ΄μ(Access Modifier) μ¬μ©: private, protected, public, defaultλ₯Ό ν΅ν΄ ν΄λμ€ λ©€λ²μ μ κ·Ό μμ€μ μ μ΄ν©λλ€.
β’
Getterμ Setter λ©μλ: privateμΌλ‘ μ μΈλ νλμ μ κ·Όνκ³ μμ ν μ μλ κ³΅κ° λ©μλλ₯Ό μ 곡ν©λλ€.
β’
ν¨ν€μ§ ꡬ쑰ν: κ΄λ ¨λ ν΄λμ€λ₯Ό ν¨ν€μ§λ‘ λ¬Άμ΄ κ΄λ¦¬ν©λλ€.
μΊ‘μν μμ μ½λ
public class BankAccount {
// private νλ - μΈλΆμμ μ§μ μ κ·Ό λΆκ°λ₯
private String accountNumber;
private String accountHolder;
private double balance;
// μμ±μ
public BankAccount(String accountNumber, String accountHolder) {
this.accountNumber = accountNumber;
this.accountHolder = accountHolder;
this.balance = 0.0;
}
// Getter λ©μλ
public String getAccountNumber() {
return accountNumber;
}
public String getAccountHolder() {
return accountHolder;
}
public double getBalance() {
return balance;
}
// μ
κΈ λ©μλ
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println(amount + "μμ΄ μ
κΈλμμ΅λλ€.");
} else {
System.out.println("μ ν¨νμ§ μμ μ
κΈμ‘μ
λλ€.");
}
}
// μΆκΈ λ©μλ
public void withdraw(double amount) {
if (amount > 0 && balance >= amount) {
balance -= amount;
System.out.println(amount + "μμ΄ μΆκΈλμμ΅λλ€.");
} else {
System.out.println("μΆκΈν μ μμ΅λλ€. μμ‘μ΄ λΆμ‘±νκ±°λ μ ν¨νμ§ μμ κΈμ‘μ
λλ€.");
}
}
}
Java
볡μ¬
μ μμμμ κ³μ’ μ 보(accountNumber, accountHolder)μ μμ‘(balance)μ privateμΌλ‘ μ μΈλμ΄ μΈλΆμμ μ§μ μ κ·Όν μ μμ΅λλ€. λμ μ
κΈ(deposit)κ³Ό μΆκΈ(withdraw) λ©μλλ₯Ό ν΅ν΄μλ§ μμ‘μ λ³κ²½ν μ μμΌλ©°, getter λ©μλλ₯Ό ν΅ν΄ μ 보λ₯Ό μ‘°νν μ μμ΅λλ€. μ΄μ²λΌ μΊ‘μνλ₯Ό ν΅ν΄ λ°μ΄ν°μ 무결μ±μ 보νΈνκ³ κ°μ²΄μ μ¬μ©λ²μ λ¨μνν μ μμ΅λλ€.