배운것들을 정리합니다.
三昧境

Flutter/Glossary

Flutter,Dart dictionary (중간중간 수정필요)

ujo_orr 2024. 3. 13. 19:42
Dart

Google에서 개발한 언어. 크로스플랫폼으로써 IOS, Android에 접근가능.

 

Flutter

Dart언어를 사용하며 프로그래밍하는 프레임워크.

 

camelCase

카멜케이스. 변수를 선언할때 가장 앞글자와 단어와 단어사이 띄어쓰기가 불가능하여 다음 단어의 앞글자는 대문자로 표기. (testCode)

 

PascalCase

파스칼케이스. Class를 선언할때 가장 앞글자를 포함, 단어와 단어사이 띄어쓰기가 불가능하여 다음 단어의 앞글자는 대문자로 표기. (TestCode)

 

void

return 개념에서 반환할곳을 없다고 표기할때. 생략가능.

 

;

Dart언어에서는 문장이 끝날때마다 ;로 마무리 지어줘야함.

 

변수

var과는 별개의 개념. 변수를 선언한다할때 var name. int numb. 를 봤을때 var(타입) name(변수). int(타입) numb(변수) 처럼
변수는 내 마음대로 지정해줄수 있음. 특정단어 제외 [ex) main, print, num, 앞글자가 대문자인것들.]
이 단어들은 Dart자체에서 역할이 이미 지정되어있는 변수 또는 함수이름이기 때문에 사용불가.

 

함수

여러 코드를 묶어둔 상자. 소괄호() 중괄호{} 를 사용하며 메인함수 밖에서 호출하는 형식.
소괄호 안에는 변수(parameter)를, 중괄호 안에는 실행할 코드를 넣는다.
타입 변수명 = 함수명();

 

var

변수. 처음 담은 값으로 변수타입이 설정이 됨. 다른타입으로 수정불가.

 

dynamic

var과 비슷한 성격을 띔. 수정가능. List에서는 String, int 둘 다 담을수 있게 됨.

 

int

정수.

 

double

실수. 소숫점 자리에 사용.

 

+ - * / % ~/

연산기호.

+ 더하기  
- 빼기  
* 곱하기  
/ 나누기 double로 반환(소숫점 포함)
% 나누기 int로 반환(나머지 반올림)
~/ 나누기 int로 반환(몫)
++ 더하기 1씩 더하기
-- 빼기 1씩 빼기

 

String

글자타입. 텍스트.

 

boolean

맞다/틀리다. bool. 타입비교.

 

null

nullable, non-nullable. 타입뒤에 ?를 붙이면 null까지 쓸수있는 타입으로 바뀜.

!를 붙이면 null타입이 아니라는 또는 특정 값을 확신해줄수 있음.

 

const

컴파일 시점에 변수가 상수가 된다. 런타임 시점에 처리할일을 줄여줌. 죽어도 값이 안변할것 같은곳에 씀.

 

final

런타임 시점에 변수가 상수가 된다. 대부분은 파이널.

 

operator

double, int 에 사용. 기존 값에 +-적용.

 

is

타입비교 할때. 

 

bool

logical operation. boolean. true, false를 실행하게 됨.

 

if

조건에 따라 다른 코드를 넣고 싶을때. bool 타입. true일때 실행, false일때 else. else if 로 많은 조건 기입가능.
&&는 and, ||는 or, 를 사용하여 값비교.

 

switch

if와 비슷함. case 뒤엔 break 가 붙어줘야함. 출력물이 많을때.

 

for

loop문. 주로 숫자 값을 넣으며 반복작동. ;(세미콜론)으로 섹션을 나눔.

 

in

loop문 안에서 사용. 리스트 등 인덱스 내부에 있는 것들을 차례대로 실행.

 

while

loop문. <5 처럼 4가될때까지만 반복하는 문.

 

break, continue

loop문 중 특정값이 나왔을때 멈추냐, 다음으로 넘어가냐 차이.

 

enum

void 위에 선언. 타입강제.

 

parameter

매개변수. 함수에서 입력값을 받아주는 변수.

 

positional parameter

순서가 중요한 파라미터. 각 값도 필수.

 

optional parameter

있어도 되고 없어도 되는 파라미터. []를 사용하여 없어도 되는 구간설정. 기본 값은 있어야함.

 

named parameter

소괄호() 내부에 중괄호{}를 지정하여 타입과 이름을 지정해줄수 있음.
required를 타입앞에 쓸 경우, 함수에서 입력받는 값을 필수로 지정해줄수 있음. null과는 반대성격.

 

this

현재 클래스에서 함수에게 현재 클래스라고 말해줄때.

 

inheritance

상속. 자식 class에 상속하는 기능.

 

super

상속 전용 this.

 

method

Class내부에서 쓰는 함수.

 

propoerty

클래스 내의 변수.

 

@override

부모클래스에서 받아온걸 자식클래스에서 변경할때.

 

Class

함수를 재활용할 틀.

 

instance

Class의 형태를 따른 데이터 객체. Class를 사용하여 나온 틀.

 

constructor

Class명과 동일한 함수.

 

return

함수를 실행했을때 써놓은 코드나 값을 호출한곳에 반환해줌.

 

?

1. String? 면 String이 값이 들어가도 되고 아무것도 들어가지 않아도 되는. 즉 null값도 포함을 할수 있는.
2. if문의 축소. 
isOnboarded가 true일때 HomePage를, false일때 onboardPage를.

조건 ? true일때 반환값 : false일때 반환값
isOnboarded ? HomePage() : onboardPage()

 

??

null 일때 특정 값을 넣어라. 

?? false;

 

!

not의 의미. !true = not true. !false = not false.

변수 뒤에 붙이면 null값을 반환하지 않는다는 의미. currentUser()!;

 

$

문자열중 변수를 불러올때.  print(my $name is); 처럼 name변수를 불러올수 있음.

 

\

문자열중 ' 또는 " 를 사용할때.

 

\n

텍스트 안에서의 줄바꿈. "안녕하세요.\n테스트입니다."

 

.

변수와 변수사이 입력. 앞에있는 변수에 연계하여 사용. (testList.length)

 

_

1. private함수.  _Private 처럼 앞에 _가 붙으면 외부 파일에서 접근불가.
2. onPressed(_) {} 처럼 파라미터 내부에 쓰이게 되면 사용하지 않는 매개변수를 뜻함.

 

static

instance에 귀속되지 않고 class에 귀속되게 함.

 

Interface

inheritance와 비슷한 개념이나 하위클래스에 문법들을 강제할때. (팔레트처럼)

 

implements

interface 전용 this.

 

abstract

interface를 instance로 만들지 못하게함.

 

generic

타입을 외부에서 받을때 <>를 사용. <String> <int> 등.

 

required

필수의.

 

List

순서와 중복이 있는자료. [책, 감자, 휴대폰]

 

Map

키와 데이터를 같이 저장할 수 있는 자료 {0: 책, 1: 감자, 2: 휴대폰} 맵은 계속 새로운 리스트를 생성하기 때문에 부딪히는 버그를 조심해야함.

 

Set

순서없고 중복이 존재할 수 없는 자료구조. {책, 감자, 휴대폰}

 

형 변환

List, Map, Set 들의 형태를 변환하는것들.

 

arrow function

=>. return 대용. {return  } 을 대체함

final methodTest = test.map((x) {return "TEST $x";});
final merhodTest = test.map((x) => "TEST $x");


같은결과임. return코드가 1줄일때 사용가능.

 

where

필터링. 

test = human.where((x) => x["group"] == "TEST".toList();

 

reduce

줄이다. List의 각각 앞뒤(prev, next)값들을 작동시켜 반환해줌. 반환된값은 무조건 List 선언 타입따라감.

 

fold

리듀스랑 많이 비슷하지만. List의 값 처음을 따로 설정해줄수 있음.

 

..

cascade operator. 앞 중복되는 문자를 생략 (객체를 반환하는 함수만이 사용가능)

class User{
  String name = ''; 
  int age = 0;
}

void main() {
  User user = User(); 
  user.name = '홍길동';
  user.age = 23; 
  
  User user1 = User()
    ..name = '김철수'
    ..age = 23;
}

 

spread operator. List의 값을 풀어서 넣을때. 

List<int> even = [2,4,5,6,8,10];
List<int> odd - [1,3,5,7,9];
print([...even,...odd]);

 

Future

미래에서 받아올 값. 함수에 딜레이를 건다 생각하면 됨.

 

Future, async, await

어웨이트 키워드. async는 파라미터와 바디 사이에 넣어 사용 await는 Future 클래스 앞에 사용.

 

import

외부에서 플러그인 당겨올때.

 

Stream, yield

병렬로, 동시다발적으로 코드를 진행할때.

 

객체지향

Object Oriented Programing(OOP).

class 사용해 레고(객체) 무언가를 조립하는 방식.

 

async

await를 쓰기위해 함께 붙어다님. 특정 조건에 부합할때까지 코드진행을 멈추는 코드.

 

전역변수

어떤 변수영역 내에서도 접근할 수 있는 변수.

 

late

차후에 값을 무조건 넣어줄거라고 선언하는 변수.

late String name;
name = "test";
pring(name);

 

exception

예외.

 

익명함수
var add = (int a, int b) {
  return a + b;
};

void main() {
  print(add(2, 3)); // 출력: 5
}

이름이 없는 함수. 이름이 없기 때문에 호출 시 이름을 사용할 수 없고, 대신 정의된 위치에서 직접 실행되거나 다른 함수에 전달됨.

 

람다함수
var add = (int a, int b) => a + b;

void main() {
  print(add(2, 3)); // 출력: 5
}

익명 함수의 한 종류로, 함수 본문이 단일 표현식일 때 간결하게 정의할 수 있는 문법을 제공.
익명함수보다 간결하게 작성가능.