메소드
포스트
취소

메소드

메소드란?

  • 어떠한 특정 작업을 수행하기 위한 명령문의 집합

메소드의 사용 목적

  • 중복되는 코드의 반복적인 프로그래밍 회피
  • 모듈화로 인한 코드의 가독성 증가
  • 유지보수의 난이도 보정

※ 메소드를 작성할 때는 되도록 하나의 메소드가 하나의 기능만을 수행하도록 작성하는 것이 좋다.

메소드 정의

  • 기본 형식
반환타입 메소드이름(매개변수목록) { // 선언부
    // 구현부
}
  • 사용 예시
String concatExample({required String front, required String back}){
  return front + back;
}

메소드 호출

//매개변수가 없는 메소드의 호출
메소드이름();

//// 매개변수가 있는 메소드의 호출
메소드이름(인수1, 인수2, ...);

파라미터 종류 (★★★)

  • Dart에서는 사용하는 매개변수에 대해서 다양한 지정법을 가지고 있다.

positional parameter

  • 기본적인 지정 방식
  • 선언된 자료형의 순서대로 파라미터를 받는다.
  • 사용 예시
String concatExample(String front, String back){
  return front + back;
}
print(concatExample("앞", "뒤")); //출력 : 앞뒤

optional parameter

  • 존재 유무가 상관 없는 파라미터들을 지정하는 방식
  • [] 안에 해당하는 파라미터들을 명시한다.
  • [] 안에 명시된 순서대로 파라미터를 받는다.
  • 기본 값을 지정할 수 있다.
    • 예상치 못한 상황을 대비해서 기본 값을 지정하는 것이 좋다.
  • 사용 예시
int sum(int a, [int b = 2, int c = 3]){
    return a + b + c;
}
print("sum : ${sum(1)}"); //출력 : 6
print("sum : ${sum(10, 20)}"); //출력 : 33
print("sum : ${sum(10, 20, 30)}"); //출력 : 60

named parameter

  • 항목명이 존재하는 파라미터
  • 항목명에 따라서 값을 넘겨준다.
    • 순서가 존재하지 않는다.
  • 필수 값을 나타낼 수 있다.
    • required 키워드를 붙이면 된다.
    • 필수 값이 아닌 경우에는 required 키워드 없이 기본 값을 지정한다.
  • 기본 값을 지정할 수 있다.

  • 사용 예시
int sum({required int a, required int b, int c = 3}){
    return a + b + c;
}
print("sum : ${sum(a: 10, b: 20)}"); //출력 : 33
print("sum : ${sum(a: 10, b: 20, c: 30)}"); //출력 : 60

getter와 setter

  • getter
    • 객체의 프로퍼티를 읽는 메소드
  • setter
    • 객체의 프로퍼티를 쓰는 메소드
  • 사용 예시
class Square {
    double _width = 0;
    double _height = 0;

    double get width => _width;
    set width(double value) => _width = value;
    double get height => _height; 
    set height(double value) => _height = value;
}

Square square = Square();
square.width = 200;
square.height = 300;
print("해당 사각형의 가로 길이는 ${square.width}, 세로 길이는 ${square.height}입니다."); //출력 : 해당 사각형의 가로 길이는 200, 세로 길이는 300입니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.