본문 바로가기

Flutter 앱 개발자 프로젝트

[Flutter] function & class

다트 함수와 클래스에 대해 간단히 정리해 봅니다.


 

 

 

DartPad

 

dartpad.dev

 

function

 

Dart 함수

void main() {
  print("1. 시작");
  
  say();
  
  print("4. 종료!");
}

void say() {
  print("2. 안녕");
  print("3. Hello");
}

 

 

main은 Dart에서 처음 시작 시 호출하는 약속된 함수

앞의 void 자리는 함수가 반환하는 값의 자료형을 표시하는 것. 비워둬도 괜찮다.

void main() {}

main2 () {}

String main3 () {
	return "Hello";
}

 

 

함수 표현 방법

 

첫 번째 줄에 있는 main도 함수. 단, Dart에서 시작할 때 호출하기로 약속된 함수로 이름을 변경하면 안된다.

void main() {

}

 

화살표 함수는 함수 표현식의 단축형

say() {
	return "hello";
}

sayArrow() => "hello";

 

 

+ 반복문 (for 문)

for (int i = 0; i < 5; i++) {
    print('hello ${i + 1}');
}

1 : int i = 0 → i라는 변수가 0으로 시작 (한 번만 실행)

2 : i < 5 → i의 값이 5보다 작은지 조건을 확인 (false → 반복문 종료 / true → 3번)

3 : 중괄호 안쪽 영역 → 반복해 실행하는 코드들이 들어있다.

4 : i++ → i값을 1만큼 증가 시키고 2번으로 흐름이 다시 넘어간다.

 

클래스 (Class)

 

클래스는 변수와 함수를 모아둔 틀

class 클래스이름 {

}

 

  • 속성(Property) : 클래스 내의 변수
  • 메소드(Method) : 클래스 내의 함수
  • 생성자(Constructor) : 클래스 명과 동일한 함수 즉, 앞서 배운 변수와 함수로 이루어져 있다.
class Bread {
	// 생성자 함수 (클래스명과 똑같음. 클래스의 객체가 생성될 때 호출되는 함수)
	Bread(String core) {
		content = core; // 전달 받은 core를 content에 넣어줍니다.
	}
	
	// Bread 클래스가 가진 content 속성 (클래스 내의 변수)
	String? content;

	// Bread 클래스가 가진 getDescription 메소드 (클래스 내의 함수)
	String getDescription() {
    return "맛있는 $content빵입니다."; // 맛있는 팥빵입니다.
  }
}