C# 연습

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 리뷰를 받을 수 있습니다.

모든 챌린지