[앱개발-flutter] 함수형 프로그래밍 / dart 문법

도톨이·2024년 2월 3일
0

앱 개발-flutter

목록 보기
15/29

함수형 프로그래밍

함수형 프로그래밍은 "함수"를 일급 객체로 취급하는 프로그래밍 패러다임 중 하나입니다. 일급 객체란 변수에 할당할 수 있고, 다른 함수의 인자로 전달하거나 반환값으로 사용할 수 있는 객체를 의미합니다. Dart는 이러한 함수형 프로그래밍의 개념을 지원하여, 함수를 변수에 할당하고, 다른 함수의 인자로 전달하며, 함수에서 다른 함수를 반환할 수 있게 합니다.

예제: 함수를 변수처럼 사용하기

Dart에서 함수를 하나의 변수처럼 다루는 방법을 살펴보겠습니다. 다음 예제는 함수를 변수에 할당하고, 이를 호출하는 간단한 방법을 보여줍니다.

이 예제에서 disMsg 함수는 void disMsg()로 정의되어 있고, main 함수 내에서 Function 타입의 변수 f1에 할당되었습니다. 이후 f1()을 호출함으로써, disMsg 함수가 실행되고 "어서오세요."라는 메시지를 출력합니다.

void main() {
	Function f1 = disMsg;
    int x = 10;
    String name = "홍길동";
    print(x);
    print(name);
    f1();
    
    
    }
void disMsg() {
	print('어서오세요.');
    }

함수형 프로그래밍의 장점

  • 일급 함수의 사용: Dart에서 함수는 일급 객체이므로, 다른 함수에 인자로 전달하거나, 함수에서 함수를 반환할 수 있습니다. 이는 고차 함수를 구현할 때 유용합니다.

  • 불변성(Immutability): 함수형 프로그래밍에서는 데이터의 불변성을 중시합니다. Dart에서는 final 또는 const를 사용하여 불변성을 확보할 수 있습니다.

  • 익명 함수(Anonymous functions): Dart는 이름이 없는 함수, 즉 익명 함수의 선언을 지원합니다. 이를 통해 코드를 더 간결하게 만들 수 있습니다.

아래 예시 코드는 Dart 언어에서 List 컬렉션과 forEach 메소드를 사용하여 각 항목을 순회하고 출력하는 예제입니다. 코드를 단계별로 분석해보겠습니다.

list.forEach((item) {
  print('${list.indexOf(item)}: $item');
});
profile
Computer Engineering

0개의 댓글

관련 채용 정보