Dart 기본 규칙

Ruinak·2021년 9월 18일
0

Dart

목록 보기
1/11
post-thumbnail

Dart 살펴보기

Dart 문법

Dart 공식문서 살펴보기

  • 구글에서 dart를 검색해서 Dart Programming Language에 들어갑니다.
  • 상단의 Docs로 들어갑니다.

순서

  • Language sample → Language tour → Effective Dart(dart를 어떻게 사용하면 좋은지)

Language sample

DartPad 사용

  • 구글에 dart pad라고 검색을 해서 DartPad 사이트를 열어줍니다.
  • dart pad는 툴을 따로 설치하지 않고 dart를 공부할 수 있습니다.

Dart 규칙

  • 주석은 자바와 똑같이 //를 사용합니다.

1. dart는 main( ) 함수가 처음으로 시작됩니다.

  • Java와 똑같이 main( ) 함수를 필요로 합니다.
main(){
  // 자바와 같이 끝에 세미콜론이 필요함
  print("Hello World");
}

2. dart는 메서드의 리턴 타입을 정해도 되고, 정하지 않아도 됩니다.

void hello(){
  print("인사");
}

// 타입 추론
add(){
  return 1 + 5;
}

main(){
  // 자바와 같이 끝에 세미콜론이 필요함
  print("Hello World");
  hello();
  
  int sum = add();
  print(sum);
}
  • 리턴 타입이 없어도 dart가 결과 값(return 값)을 보고 리턴 타입을 추론해줍니다.

3. dart는 모든 것들이 1급 객체입니다.

  • 자바는 어쩔수 없이 클래스를 만들고 그 안에 메서드를 만들어야 합니다.(클래스만 1급 객체)
  • 1급 객체 = 어느 곳에도 포함되지 않고 최상위에 존재하는 객체입니다.
  • 1급 객체들의 특징은 따로 new해서 메모리에 올릴 필요 없이 자동으로 메모리에 올라갑니다.
class A {
  // start 함수는 메모리에 뜨지 않습니다.
  void start(){
    print("start 호출");
  }
}
  • 위의 start( )는 자동으로 메모리에 올라가지 않습니다.
main(){
  // 자바와 같이 끝에 세미콜론이 필요함
  print("Hello World");
  hello();
  
  int sum = add();
  print(sum);
  // new 생략 가능
  A a = A();
  a.start();
}
  • 객체를 새로 만들 때 new를 하지 않아도 됩니다.
  • A 객체를 만들면 정상적으로 실행을 합니다.
  • 클래스는 자동으로 메모리에 뜨지 않습니다.

실습 코드

// 주석은 자바와 똑같이 //를 사용

// 규칙
// 1. dart는 main( ) 함수가 처음으로 시작됩니다.
//          - Java와 똑같음
// 2. dart는 메서드의 리턴타입을 정해도 되고, 정하지 않아도 됩니다.
//          - dart가 타입을 추론해줌
// 3. dart는 모든 것들이 1급 객체입니다.
//          - 자바는 어쩔수 없이 클래스를 만들고 그 안에 메서드를 만들어야 함(클래스만 1급 객체)
//          - 1급 객체 = 어느 곳에도 포함되지 않고 최상위에 존재하는 객체

// 클래스는 메모리에 뜨지 않습니다. 클래스는 객체를 생성해야 메모리에 뜹니다. new 생략 가능 
class A {
  // start 함수는 메모리에 뜨지 않습니다.
  void start(){
    print("start 호출");
  }
}

// 메모리에 자동으로 뜬다.
void hello(){
  print("인사");
}

// 메모리에 자동으로 뜬다.
// 타입 추론
add(){
  return 1 + 5;
}

// 메모리에 자동으로 뜬다.
int num = 50;

main(){
  // 자바와 같이 끝에 세미콜론이 필요함
  print("Hello World");
  hello();
  
  int sum = add();
  print(sum);
  // new 생략 가능
  A a = A();
  a.start();
  
  print(num);
}

profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글