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);
}