Flutter & Dart 찍먹

404·2022년 7월 20일
0

Flutter 💙 Dart

목록 보기
1/1
post-thumbnail

Dart 문법 간단 정리

https://dartpad.dev/?

타입스크립트 플레이그라운드와 같이 다트패드라는 웹 서비스가 있다. 다트를 처음 공부하시는 분들은 활용하면 좋을것 같다.

1. 반복문 (시작부터 이게 무슨)

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

시작부터 다른 언어 좀 적어본 사람 티내는게 아니고 다트패드에 처음 들어가보면 반복문 예시가 나와있다... 첫 인상은 타입스크립트와 파이썬 그 중간 어느곳에 있는 느낌이다. 그리고 세미콜론 (;)을 빼먹으면 에러가 나니 꼭 기억해야 할 것 같다.

그리고 에러메시지에서 보이는 재미있는 내용

자바스크립트로 컴파일링 하는것을 실패했다....?

2. 변수 할당

  • var 를 사용하면 처음 변수를 선언할 때 변수에 할당되었던 값의 자료형이 계속 유지된다. 따라서 var numberOne = 'one' 과 같이 선언했으면 이후 numberOne = 1 로 재할당할 수 없다.

  • 또한 변수를 선언할 때 타입 뒤에 ?을 붙이면 null의 가능성을 열어둔다.

  • final 과 함께 선언된 변수에는 값 재할당이 불가능하다

  • 그 외 double (실수), bool (참/거짓), List (T 유형의 배열), Map<K,V> (객체), dynamic (any in TS) 자료형이 있다.

3. 조건문

void main() {
	 if(true) {
 		 print("참");
	 }else{
		 print("거짓");
	  }
}

조건문은 자바스크립트랑 똑같이 생겼다....

4. 함수

void main() {
if(true) {
  print("참");
}else{
  print("거짓");
}
plus(5, 2);
}
void plus (int a , int b){
print(a + b);
}
  • 함수 작성 방법도 기본 자바스크립트와 똑같다... 타입스크립트 기준으로 했을 때 파라미터의 타입을 선언해주는 방식만 약간의 차이가 있다.

  • 함수 선언시 int mul ({required int a}) => 2 * a 와 같이 필수 입력 인자로 지정이 가능하고 String? a와 같이 null 가능성을 열어둘 수도 있다.

  • 화살표 함수는 자바스크립트에서와 마찬가지로 암묵적 return을 의미한다.

  • 함수 앞의 타입은 반환되는 값의 타입을 의미한다.

5. 클래스 (class)

클래스는 아직도 잘 모르는 개념이기에 이번 기회로 다시한번 정리하고 간다.

  • 클래스의 구성요소 : 속성, 메소드, 생성자
  • 속성 (property) : 클래스 내의 변수
  • 메소드 (method): 클래스 내의 함수
  • 생성자 (constructor) : 클래스 명과 동일한 함수
  • 예시
    void main() {
         Bread bread1 = Bread('팥');
         Bread bread2 = Bread('크림');
         print(bread1.content); // 팥
         print(bread2.content); // 크림
         print(bread1.getDescription()); // 맛있는 팥빵입니다.
         print(bread2.getDescription()); // 맛있는 크림빵입니다.
    	}
    class Bread {
     String? content;
     
     Bread(String prop) {
       content = prop;
     }
     String getDescription() {
       return "$content가 들어있는 빵!";
     }
    }
  • extends를 사용하여 다른 클래스의 속성과 메소드를 상속받을 수 있다.
profile
T.T

0개의 댓글