일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Kotlin
- Flutter
- StatelessWidget
- expanded
- appbar
- 람다식
- 프래그먼트
- 프로그래머스
- 지연초기화
- button
- 리스트뷰
- padding
- StatefulWidget
- Widget
- margin
- 두 수의 나눗셈
- 빌드 프로세스
- SizedBox
- 패스트캠퍼스
- 액티비티 생명주기
- 상속
- If
- 안드로이드 스튜디오
- setState
- 변수
- 추상메소드
- 뷰바인딩
- 반복문
- 인스턴스
- spacer
- Today
- Total
Y_Ding
2023.07.11 TIL -Dart문법 본문
Dart문법
- Dart문법은 Flutter 코드를 작성하는데 필요
- Dart의 모든것은 클래스로 구성되어있음
- main함수는 항상 있어야 한다.
그렇지 않으면 아무것도 실행되지 않는다.
(ex. void main() {} )
void main(){}
// void는 main 함수 앞에 아무것도 return하는 값이 없을 경우
String main2(){
return "Hello";
}
// 문자열로 return하는 경우는 String
main3(){}
// 아무것도 써주지 않아도 Dart에서 알아서 어떤 자료형을 반환하는지를 추론해줌
-변수?
값을 담는 바구니
자료형 변수명 = 값; ex) var name = '철수';
*세미콜론(;)을 써주지 않으면 error
-변수명 만드는 규칙
1. 영문, _(Underbar), $, 숫자만 사용
2. 숫자로 시작이 불가능
3. 카멜케이스 사용 (ex. camelCase)
-자료형
var: 처음 담긴 값으로 타입 지정
const: 처음에 변수 선언하고 나면 값을 변경할 수 없음
final: 선언은 먼저하고 나중에 값을 담을 수 있지만, 한 번 담으면 변경할 수 없음
void main() {
var a = 1;
String b = "hello world";
String? c = null;
// '?'의 의미는 null값도 들어올 수 있음을 의미
const d = 1;
final e;
e = 2;
print(a);
}
조건문(if문)
특정 조건에 따라서 어떤 것을 실행할지 정하는 것
else if를 이용해서 여러가지 조건을 넣을 수 있음
* 하나라도 true가 되어 실행되면, 뒤의 조건문은 실행되지 않음
if (bool1) {
// bool1이 true면 실행
} else if (bool2) {
// bool1이 false이고, bool2가 true이면 실행
} else if (bool3) {
// bool1과 bool2가 false이고, bool3가 true이면 실행
} else {
// bool1, bool2, bool3가 모두 false이면 실행
}
반복문(for문)
특정한 코드를 반복해서 실행
ex) hello를 5번 입력해야 할 경우
ex) hello를 5번 입력해야 할 경우
hello를 직접 5번 써줘도 되지만
반복문을 이용해서 더 간단하게 작성 가능
for (int i = 0; i < 5; i++) {
print('hello ${i + 1}');
}
-> i라는 변수가 5보다 작을때까지 1만큼 증가시켜라
함수(function)
여러 코드를 묶어둔 상자
input이 들어오면 output이 나오는 구조의 코드
*void main(input) {output}
void main() {
print("1. 시작");
say(); //say라는 함수를 호출하는 것!
print("4. 종료!");
}
void say() { //say라는 함수
print("2. 안녕");
print("3. Hello");
}
클래스(Class)
변수와 함수를 모아둔 틀
대문자로 시작
속성, 메소드, 생성자로 이루어져 있다
속성(Property) : 클래스 내의 변수
메소드(Method) : 클래스 내의 함수
생성자(Constructor) : 클래스 명과 동일한 함수
class Bread {
// 생성자 함수 (클래스명과 똑같음. 클래스의 객체가 생성될 때 호출되는 함수)
Bread(String core) {
content = core; // 전달 받은 core를 content에 넣어줍니다.
}
// Bread 클래스가 가진 content 속성 (클래스 내의 변수)
String? content;
// Bread 클래스가 가진 getDescription 메소드 (클래스 내의 함수)
String getDescription() {
return "맛있는 $content빵입니다."; // 맛있는 팥빵입니다.
}
}
인스턴스(Instance)
빵틀을 가지고 빵을 찍어낸다.
*빵틀 = 클래스
*빵을 만드는 것 = 생성자 호출
*빵 = 인스턴스
빵 틀에서 빵을 찍어내 듯, 생성자 함수를 호출하여 클래스에서 정의해 둔 속성과 메소드를 가진 데이터 객체를 만들 수 있는데, 이를 인스턴스(Instance) or 객체라고 부름
void main() {
Bread bread = Bread(); // Bread 생성자를 호출하여 인스턴스를 반환
print(bread); // Instance of 'Bread'
}
class Bread { //빵틀
// 생성자
Bread();
}
상속(extends)
변수와 함수를 그대로 전달받음
class 클래스A extends 클래스B
-> 클래스B의 변수와 함수를 그대로 전달받음
*클래스A : 자식(child)
*클래스B: 부모(super)
'TodayILearned > Flutter' 카테고리의 다른 글
2023.07.12 TIL -2주차 (0) | 2023.07.12 |
---|---|
2023.07.11 TIL (0) | 2023.07.11 |