Menu
Coddy logo textTech

메서드

Coddy Python 여정의 Object Oriented Programming 섹션에 포함된 레슨 — 64개 중 5번째.

메서드는 클래스에 속하는 함수입니다. 메서드는 객체가 수행할 수 있는 동작이나 행위를 정의합니다.

다음은 메서드가 포함된 클래스의 예시입니다:

class Calculator:
    def greet(self):
        print("Hello! I'm a calculator.")
    
    def add(self, a, b):
        return a + b
    
    def multiply(self, x, y):
        result = x * y
        print(f"{x} × {y} = {result}")
        return result

계산기 객체를 생성합니다:

my_calc = Calculator()

매개변수가 필요 없는 메서드를 호출합니다:

my_calc.greet()

매개변수와 함께 메서드를 호출합니다:

sum_result = my_calc.add(5, 3)
print(sum_result)

출력과 값 반환을 모두 수행하는 메서드를 호출합니다:

product = my_calc.multiply(4, 7)

출력:

Hello! I'm a calculator.
8
4 × 7 = 28

메서드는 다음과 같은 작업을 수행할 수 있습니다:

  • add(self, a, b)와 같이 매개변수를 받을 수 있습니다
  • return a + b와 같이 값을 반환할 수 있습니다
  • print("Hello!")와 같이 출력을 직접 표시할 수 있습니다
  • 출력과 반환을 모두 수행할 수 있습니다

핵심 포인트: 메서드는 객체가 수행할 수 있는 작업을 정의합니다. 항상 self를 첫 번째 매개변수로 포함하되, 메서드를 호출할 때는 이를 전달하지 마세요.

challenge icon

챌린지

쉬움

이 챌린지에서는 뱅킹 시스템을 구현하게 됩니다. 한 파일에 BankAccount 클래스를 생성하고 다른 파일에서 이를 사용하여, 더 나은 유지보수를 위해 코드를 구성하는 방법을 실습합니다.

두 개의 파일로 작업해야 합니다:

  • bank_account.py: BankAccount 클래스를 정의하는 곳입니다.
  • driver.py: 클래스를 임포트하고, 계좌를 생성하며, 트랜잭션을 수행하는 곳입니다.

bank_account.py에 다음을 포함하는 BankAccount 클래스를 생성하세요:

  1. "Python National Bank"로 설정된 클래스 속성 bank_name
  2. 금액(amount)을 받아 계좌 잔액(balance)에 더하는 deposit 메서드
  3. 금액(amount)을 받아 잔액에서 빼는 withdraw 메서드
  4. 현재 잔액을 반환하는 get_balance 메서드

그런 다음 driver.py에서 BankAccount 클래스를 임포트하고, 계좌를 생성하여 $100를 입금하고, $30를 출금한 후, 다음 형식으로 잔액을 출력하세요: f"Current balance: ${my_account.get_balance()}"

치트 시트

메서드는 클래스에 속하며 객체가 수행할 수 있는 동작을 정의하는 함수입니다.

클래스 내에서 메서드 정의하기:

class Calculator:
    def greet(self):
        print("Hello! I'm a calculator.")
    
    def add(self, a, b):
        return a + b
    
    def multiply(self, x, y):
        result = x * y
        print(f"{x} × {y} = {result}")
        return result

객체를 생성하고 메서드 호출하기:

my_calc = Calculator()
my_calc.greet()
sum_result = my_calc.add(5, 3)
product = my_calc.multiply(4, 7)

메서드는 다음과 같은 작업을 수행할 수 있습니다:

  • 매개변수 받기: add(self, a, b)
  • 값 반환하기: return a + b
  • 출력하기: print("Hello!")
  • 출력과 반환을 동시에 수행하기

핵심 포인트: 메서드를 정의할 때는 항상 self를 첫 번째 매개변수로 포함해야 하지만, 메서드를 호출할 때는 이를 전달하지 않습니다.

직접 해보기

from bank_account import BankAccount

# 계좌를 생성하고 메서드를 테스트하세요
my_account = BankAccount()
my_account.balance = 0  # 시작 잔액

# TODO: 거래 수행
# (여기에 코드를 작성하세요)

# TODO: 최종 잔액 출력
# (여기에 코드를 작성하세요)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Object Oriented Programming의 모든 레슨