• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

메소드를 저장해서 계속 쓸 수는 없나요?

19.09.08 14:31 작성 조회수 141

0

항상 잘 보고 있습니다. 이미 몇 번이나 봤는데도 심심하면 와서 보게 되네요.

그러던 중 문득 궁금한 점이 생겼는데요.

강의를 보면 앱바는 _buildAppBar라는 이름의 메소드를 만들고 바디는 _buildBody라는 이름의 메소드를 만들어서 사용하시잖아요?

물론 각 페이지(다트파일)이 달라지면 메소드의 이름은 같아도 내용이 달라서 그때마다 그 페이지에서 새로 만들어서 메소드를 사용하시는데 만약 여러 개의 페이지에서 같은 내용의 메소드를 사용할 경우 한 페이지마다 계속 메소드를 선언한 후 사용해야 한다면 너무 귀찮을 것 같아서요.

물론 복사 붙여넣기가 있지만 프로그래밍 자체가 효율적으로 작업을 하기 위한 것인데 분명 플러터에도 이런 기능이 있을 것 같습니다.

혹시 알고 계신다면 이름이라도 간단히 소개해주시겠어요?

답변 1

답변을 작성해보세요.

1

다른 언어들 처럼 static을 지원합니다. 다음 예를 참고하시어 반복되는 메서드는 static으로 선언하여 재사용할 수 있습니다.

import 'dart:math';

class Point {
  num x, y;
  Point(this.x, this.y);

  static num distanceBetween(Point a, Point b) {
    var dx = a.x - b.x;
    var dy = a.y - b.y;
    return sqrt(dx * dx + dy * dy);
  }
}

void main() {
  var a = Point(2, 2);
  var b = Point(4, 4);
  var distance = Point.distanceBetween(a, b);
  assert(2.8 < distance && distance < 2.9);
  print(distance);
}