C#으로 캡슐화된 은행 계좌 만들기
이 레슨에서는 바깥에서는 읽기만 할 수 있는 속성과 통제된 입금 메서드로 계좌 잔액을 보호합니다.
소개
이 연습은 캡슐화를 적용합니다. 바깥에서 잔액을 직접 바꾸게 하는 대신, 클래스는 입금 같은 올바른 동작만 제공합니다. 그래서 음수 금액은 입금할 수 없다는 것 같은 업무 규칙이 항상 지켜집니다.
Balance 속성의 set은 private이므로 바깥에서는 읽기만 하고 값을 대입할 수 없습니다. Deposit 메서드는 금액이 0보다 큰지 확인하고, 그렇지 않으면 ArgumentOutOfRangeException을 던집니다. 계좌를 100으로 열고 50을 입금하므로 출력되는 잔액은 150입니다.
실행 가능한 C# 예제
C#
Program.cs
using System;
class BankAccount(decimal opening)
{
public decimal Balance { get; private set; } = opening;
public void Deposit(decimal amount)
{
if (amount <= 0) throw new ArgumentOutOfRangeException(nameof(amount));
Balance += amount;
}
}
class Program
{
static void Main() { var account = new BankAccount(100); account.Deposit(50); Console.WriteLine(account.Balance); }
}
150디버거로 연습하기
중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.
챌린지로 연습하기
이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.
모든 챌린지