Python 문법도 배울까 살펴봤었고,
JavaScript도 한동안 강좌를 들었었고,
지금은 python 강좌를 듣고 있다.
Flutter가 비교적 가볍고 쉽다고 하는데, 실제 그럴 지는 모르겠다.
Dart 문법
DartPad : 온라인 상에서 Dart를 실행할 수 있는 웹사이트라고 하고,
main이라는 함수가 Dart에서 처음 시작시 호출하는 약속된 함수라고 한다.
main() {
}
변수 : 어떤 값을 담는 바구니라고 한다.
`String` : 문자만 담을 수 있음
'int' : 숫자 정수만 담을 수 있음
'double' : 숫자 실수만 담을 수 있음
'dynamic' : 모든 자료형이 올 수 있음
`final String` : 문자를 한 번 담은 뒤 재할당 불가능함
null safety 데이터에 값이 담기지 않는 것을 방지하기 위해 에러 표시하는 것
값이 없을 수도 있다는 것은 ?를 붙여 사용
`String?` : 문자 또는 비어있는(`null`) 상태일 수 있음
'int?' : 숫자 또는 비어있는('null') 상태일 수 있음
`var` : 처음 담긴 값으로 타입이 지정된다. 처음에 문자가 입력되면 String, 숫자가 입력되면 int (정수) 또는 double (실수)
특히 외부 api에서 값을 받아 올 경우 데이터의 형태를 확실하게 알 수 없어 var 타입 지정이 유익함
'List<T>' : [ ] 안에 여러 개의 데이터를 가지는 배열
'Map<key : value>' : { } 의 형태
'클래스명' : 인스턴스의 타입은 클래스의 이름을 사용
흐름제어문
- 조건문
- 반복문
함수
void 함수이름 () {
}
함수의 이름은 camelCase 형태
{ } 안쪽에 실행 코드 작성
void는 함수가 아무것도 반환하지 않는다는 의미
함수 호출 형태 : 함수이름 ( ) ;
함수 출력시 함수 내부 (중괄호 안쪽)에 최종 반환값 앞에 return을 적어줌
클래스 Class
클래스 이름은 PascalCase를 따름
구성 요소는 속성(Property), 메소드(Method), 생성자(Constructor)
속성 Property : 클래스 내부의 변수
메소드 Method : 클래스 내부의 함수
생성자 Constructor : 클래스명과 동일한 함수. 반환 타입을 지정하지 않음
인스턴스 Instance
생성자 함수를 호출하여 클래스에서 정의한 속성과 메소드를 가진 데이터 객체를 만드는 것
상속 extends
형태 : class 클래스A extends 클래스B
역할 : 클래스B가 가진 변수와 함수를 클래스A가 그대로 사용
클래스A는 자식(child), 클래스B는 부모(super)가 됨
'Coding 배우기' 카테고리의 다른 글
Widgets in Flutter (0) | 2023.01.20 |
---|---|
Flutter : 객체, 클래스, 인스턴스, 생성자 (0) | 2023.01.15 |
Flutter : alignment (0) | 2023.01.08 |