전체 글

·Flutter
다트는 널 안전성을 지원하므로 널 허용 변수를 이용할 때 널에 안전한 코드를 작성할 수 있도록 몇 가지 연산자를 제공합니다. 여기서는 이러한 널 안전성과 관련한 연산자를 알아봅니다.널인지 점검할 때 -! 연산자어떤 변수가 널인지 점검할 때는 ! 연산자를 사용합니다. 변수 이름 뒤에 ! 연산자를 추가하면 이 변숫값이 널일 때 런 타임 오류가 발생합니다. 널 불허 변수 뒤에 추가할수도 있지만 널 불허 변수에는 널을 대입할 수 없으므로 의미가 없습니다. 밑에 있는 코드에서 20으로 초기화한 널 허용 변수 a1은 main() 함수 첫 줄에서 ! 연산자를 붙였을때는 괜찮지만, null을 대입한 후 마지막 줄에서 ! 연산자를 붙였을 때는 오류가 발생합니다. 그 앞 줄에서 a1에 null을 대입했기때문입니다.// 널..
·Flutter
널 안전성이란?널 안정성이란 널 포인트 예외를 프로그램을 실행하기 전 코드를 작성하는 시점에 점검하는 것을 의미합니다. 널 포인트 예외는 객체가 특정 값이 아닌 null을 가리켜서 발생하는 오류이며 컴파일러가 걸러내지 못하고 프로그램 실행 중에 발생하므로 치명적일 수 있습니다. 널 안전성을 지원하지 않는 프로그래밍 언어들은 객체에 널값을 대입할 수 있으며 널인 객체에 접근하면 NPE가 발생하지만, 널 안전성을 지원하는 언어들은 객체가 널일 때 발생할 수 있는 오류를 코드 작성 시점에 점검해 줍니다. 즉,NPE 발생 가능성을 컴파일러가 미리 점검 해 주므로 널에 안전한 코드를 작성할 수 있습니다.플러터 패키지 널 안전성 확인하기플러터 2.0이 나오면서 다트 언어가 2.12.0 버전으로 업데이트되었고 이 버..
·Flutter
컬렉션 타입이란 한 변수에 여러 데이터를 저장하는 방법으로 배열(Array), 리스트(List), 집합(Set), 맵(Map) 등이 있습니다. 배열과 리스트는 여러 데이터를 저장하고 저장된 순서를 나타내는 인덱스값으로 이용한다는 공통점이 있습니다. 따라서 다트에서는 돌을 구분하지 않으므로 배열이 리스트이고 리스트가 곧 배열이라고 보면 됩니다. 리스트 타입List는 데이터를 여러 개 저장하고 인덱스값으로 데이터를 이용하는 컬렉션 타입의 클래스 입니다. 다음 코드에서는 list1이라는 이름으로 List 타입 변수를 선언했습니다. 리스트를 선언하면서 초기화할 때는 대괄호([])를 이용합니다. 다음 코드에서 list1 변수는 List 타입으로 선언했지만 리스트에 대입할 데이터의 타입을 지정하지 않았으므로 dyn..
·Flutter
다트에서는 변수를 선언할 때 int, double, bool 등 타입을 명시하는 대신 var나 dynamic을 사용할 수 있습니다. var나 dynamic은 타입을 유추하거나 모든 타입의 데이터를 대입할 수 있는 변수를 선언할 때 사용합니다.var data1 = 10;dynamic data2 = 10; 타입 유추 - var변수를 선언할 때 var를 사용하면 타입을 생략합니다. 이렇게 선언한 변수의 타입은 대입하는 값에 따라 결정됩니다. 즉, 컴파일러가 해당 변수에 대입하는 값을 해석해 타입을 추측합니다.다음 코드를 보면  no라는 변수를 선언하면서 타입 대신 var를 사용했습니다. no 변수에 타입을 지정하지 않았지만 초깃값으로 10을 대입했으므로 이 변수의 타입은 정수(int)입니다. 따라서 no 변수..
런던 이즈 블루
코딩 일기