[플러터 2] 플러터 기본 문법 2

2021. 8. 14. 02:10Flutter 2 Mobile App/Flutter 2 입문

반응형

map 함수

스트링 배열을 풀면서 반복되는 값을 하나씩 변형하기위해 사용

예) 

1. 컬렉션에 담긴 데이터를 반복해서 플러터 위젯에 담고 화면에 출력할 때 많이 사용하며

   이 때 for 문을 사용하지 않는 이유는 for 문은 값을 return 하지못하기 때문

2. 컬렉션에 담긴 데이터를 반복해서 플러터 위젯에 담는데 그 값을 조금씩 변형해야할 때 많이 사용

3. map 함수는 Iterator 타입을 return 하기때문에 끝에 toList() 함수를 추가해서 List타입으로 반환하는 것이 좋고,

    List 타입이 Iterator 타입보다 활용하기 좋다.

 


where 연산자

반복되는 값에서 필요없는 값을 필터링하거나 필요한 값을 찾을 때 사용한다.

(*) 조건을 필터링할 때 사용하므로 컬렉션에 담긴 데이터를 삭제할 때 많이 사용한다.

"볶음밥" 을 제외한 리스트들만 리턴한다.


스프레드 연산자

... 연산자는 컬렉션에 담긴 데이터를 뿌리는 연산자이다.

스프레드 연산자를 사용하면 컬렉션의 값을 수정할 때 유용하다.

사용 예)

1. 컬렉션을 깊은 복사할 때 사용

2. 컬렉션에 데이터를 추가할 때 사용

3. 컬렉션에 특정 데이터를 수정할 때 사용


final과 const

둘 다 상수를 선언하게 하는 키워드로 차이점은

final은 프로그램이 실행(런타임)될 때 값이 초기화되고

const는 컴파일 시점에 값이 초기화되며, 이것을 잘 활용하면 플러터에서 그림을 효율적으로 그릴 수 있다.

(*) 컴파일 시에 초기화되기때문에 런타임 때 속도가 빠르다.

    동일한 클래스를 객체로 여러번 만들어야 하는 경우에 생성자 인수의 값이 동일하면 같은 객체이기때문에

    메모리에 만들어진 객체를 재사용한다.

    동일한 클래스를 객체로 여러 번 만들어야하는 경우에 생성자 인수값이 다르면 새로운 객체를 생성한다.

(*) hashcode 멤버변수를 사용하면 메모리주소를 hashCode 로 변경해서 알려주게 되는데

    그 코드 값이 같다는 것은 같은 메모리를 사용한다는 뜻이다.

인스턴스화 시에 const를 붙이면 생성자의 인자값이 동일하기때문에 객체를 재사용한다.

따라서 hashcode 값이 동일하다.

생성자의 인자값이 다르기때문에 새로운 객체를 생성한다.

따라서 hashcode 값이 다르다.

 


Null Safety

다트 2.12 버전부터 적용되며, ? 를 클래스 뒤에 붙이면 Null Safety 가 적용되서 null 값을 받을 수 있는 타입이 된다.

String? name = null;

 

?를 안붙이면 오류가 발생한다.

 

required

required 키워드를 생성자 파라미터 변수명 앞에 붙이게 되면 선택적 파라미터지만 값을 무조건 받아야 한다.

Null Safety (?) 적용

 

 

반응형

'Flutter 2 Mobile App > Flutter 2 입문' 카테고리의 다른 글

[플러터 2] UI 구조 2  (0) 2021.08.14
[플러터 2] UI 구조 1  (0) 2021.08.14
[플러터 2] 플러터 기본 문법 1  (0) 2021.08.14
플러터 설치 및 환경설정  (0) 2021.08.13
플러터의 특징  (0) 2021.08.13