구글 다트(Dart), 마침내 ‘널 안전성(Null safety)’ 확보 - CIO Korea

생성일
Jun 14, 2020 02:00 AM
언어
Dart
분야
 
1일 전
Paul Krill | InfoWorld
구글의 웹프로그래밍용 언어인 다트(Dart)가 ‘널 안정성(null safety)’을 제공한다. 이를 통해 일반적인 널 역참조 오류를 제거하고 성능을 최적화할 수 있다.
다트가 이제 ‘견고한(sound)’ 널 안전성을 갖추게 됐다. 이는 개발자들이 발견하기 어려운 버그를 방지할 수 있도록 돕는다. 여기서 다트의 ‘견고한 널 안정성’이란 ‘널을 허용하지 않는(non-nullable)’ 변수가 널(null)일 수 없음을 100% 보장한다는 의미다. 해당 기능은 현재 테크 프리뷰로 사용해볼 수 있다.
notion imagenotion image
ⓒGetty Images
또한 구글 다트 개발팀의 10일 발표에 따르면 다트의 널 안정성은 성능도 향상시킨다. 이는 2018년 8월 출시된 다트 2(Dart 2) 이후 가장 주요한 추가 기능이기도 하다. 널 안정성은 다트패드(DartPad) 버전에서 테스트해볼 수 있으며, 2020년 말 해당 기능을 포함한 정식 릴리즈가 출시될 예정이다.
다트는 타입 세이프(type-safe)한, 즉 예측 불가능한 결과를 내지 않는 언어다. 이는 곧 컴파일러가 변수의 타입을 보장할 수 있다는 뜻이다. 그러나 타입 안정성(type safety) 자체는 변수가 널을 허용하지 않는 것을 보장하진 않는다.
다트 코드에서도 널 오류로 많은 문제가 발생했고, 많은 사람들이 이 문제를 해결하고자 노력을 기울였다. 이제 널 안전성을 통해 개발자는 훨씬 수월하게 코드를 파악할 수 있다. 런타임 널 역참조 오류를 걱정할 필요가 없어진다.
널 안정성의 견고함은 다트 프로그램을 더 빠르고 작게 만들 수 있다. 다트는 코드를 분석해 변수가 널을 허용하지 않는 것으로 판단하고, 항상 널을 허용하지 않도록 보장한다. 변수가 널을 허용하지 않기 때문에 선행 컴파일러는 널에 대한 검사를 할 필요가 없고 더 작고 빠른 코드를 생성할 수 있다.
이 밖에 다트 개발팀은 널 안정성을 최대한 사용하기 쉽도록 개발 중이라고 설명했다. 널 안정성은 이전 버전과 호환되며, 강제적인 변화는 아니다. 개발자가 준비됐을 때 언제든지 채택할 수 있는 옵션 기능으로 지원될 예정이다. 다트 코어 라이브러리는 널 안정성을 사용할 수 있도록 업그레이드됐다.
다트의 ‘견고한 널 안정성’ 설계 원칙은 다음과 같다.
• 기본적으로 널을 허용하지 않는다. 개발자는 변수가 널 값을 가질 수 있거나 혹은 가질 수 없는 것으로 간주된다는 점을 분명히 유념해야 한다. 널이 불가능한 타입은 API에서 일반적이다. • 점진적으로 채택이 가능하다. 업데이트를 위한 툴이 제공된다. • 업데이트 이후에는 안전성의 이점을 온전히 누릴 수 있다. ciokr@idg.co.kr