Menu
Coddy logo textTech

메서드

Coddy Dart 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 110개 중 6번째.

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

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

class Calculator {
  void greet() {
    print('Hello! I am a calculator.');
  }

  int add(int a, int b) {
    return a + b;
  }

  int multiply(int x, int y) {
    int result = x * y;
    print('$x x $y = $result');
    return result;
  }
}

Dart의 메서드 시그니처에는 항상 반환 타입이 포함됩니다. 메서드가 아무것도 반환하지 않을 때는 void를 사용하세요.

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

Calculator myCalc = Calculator();

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

myCalc.greet();

매개변수와 함께 메서드를 호출하고 반환 값을 받습니다:

int sumResult = myCalc.add(5, 3);
print(sumResult);

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

int product = myCalc.multiply(4, 7);

출력:

Hello! I am a calculator.
8
4 x 7 = 28

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

  • int add(int a, int b)와 같은 반환 타입을 가질 수 있습니다
  • return을 사용하여 값을 반환할 수 있습니다
  • print()를 사용하여 출력을 직접 표시할 수 있습니다
  • 아무것도 반환하지 않을 때 void가 될 수 있습니다

핵심 포인트: 점 연산자를 사용하여 객체의 메서드를 호출합니다: object.methodName(args).

challenge icon

챌린지

쉬움

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

  1. 0으로 설정된 double balance 인스턴스 변수
  2. double amount를 매개변수로 받아 balance에 더하는 deposit 메서드
  3. double amount를 매개변수로 받아 balance에서 빼는 withdraw 메서드
  4. 현재 balance를 반환하는 getBalance 메서드

그 다음 driver.dart에서 계좌를 생성하고, 100을 입금하고, 30을 출금한 후, 잔액을 'Current balance: $[balance]' 형식으로 출력하세요.

치트 시트

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

반환 타입을 사용하여 메서드를 정의합니다. 메서드가 아무것도 반환하지 않을 때는 void를 사용합니다:

class Calculator {
  void greet() {
    print('Hello! I am a calculator.');
  }

  int add(int a, int b) {
    return a + b;
  }

  int multiply(int x, int y) {
    int result = x * y;
    print('$x x $y = $result');
    return result;
  }
}

점 연산자를 사용하여 객체의 메서드를 호출합니다:

Calculator myCalc = Calculator();
myCalc.greet();  // 매개변수 없음

int sumResult = myCalc.add(5, 3);  // 매개변수 사용, 반환값 캡처
print(sumResult);

int product = myCalc.multiply(4, 7);  // 출력 및 반환

메서드는 반환 타입을 가질 수 있고, return을 사용하여 값을 반환하거나, print()를 사용하여 출력을 직접 표시할 수 있으며, 아무것도 반환하지 않을 때는 void가 될 수 있습니다.

직접 해보기

import 'bank_account.dart';

void main() {
  BankAccount myAccount = BankAccount();
  myAccount.balance = 0;

  // TODO: 100 입금하기

  // TODO: 30 출금하기

  // TODO: 'Current balance: $[balance]' 형식으로 잔액 출력하기
  // Hint: 깔끔한 출력을 위해 balance에 .toInt()를 사용하세요
}
quiz icon실력 점검

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

객체 지향 프로그래밍의 모든 레슨