Offcanvas

개발자 / 애플리케이션

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

2020.06.12 Paul Krill  |  InfoWorld
구글의 웹프로그래밍용 언어인 다트(Dart)가 ‘널 안정성(null safety)’을 제공한다. 이를 통해 일반적인 널 역참조 오류를 제거하고 성능을 최적화할 수 있다. 

다트가 이제 ‘견고한(sound)’ 널 안전성을 갖추게 됐다. 이는 개발자들이 발견하기 어려운 버그를 방지할 수 있도록 돕는다. 여기서 다트의 ‘견고한 널 안정성’이란 ‘널을 허용하지 않는(non-nullable)’ 변수가 널(null)일 수 없음을 100% 보장한다는 의미다. 해당 기능은 현재 테크 프리뷰로 사용해볼 수 있다.
 
ⓒGetty Images

또한 구글 다트 개발팀의 10일 발표에 따르면 다트의 널 안정성은 성능도 향상시킨다. 이는 2018년 8월 출시된 다트 2(Dart 2) 이후 가장 주요한 추가 기능이기도 하다. 널 안정성은 다트패드(DartPad) 버전에서 테스트해볼 수 있으며, 2020년 말 해당 기능을 포함한 정식 릴리즈가 출시될 예정이다. 

다트는 타입 세이프(type-safe)한, 즉 예측 불가능한 결과를 내지 않는 언어다. 이는 곧 컴파일러가 변수의 타입을 보장할 수 있다는 뜻이다. 그러나 타입 안정성(type safety) 자체는 변수가 널을 허용하지 않는 것을 보장하진 않는다.

다트 코드에서도 널 오류로 많은 문제가 발생했고, 많은 사람들이 이 문제를 해결하고자 노력을 기울였다. 이제 널 안전성을 통해 개발자는 훨씬 수월하게 코드를 파악할 수 있다. 런타임 널 역참조 오류를 걱정할 필요가 없어진다. 

널 안정성의 견고함은 다트 프로그램을 더 빠르고 작게 만들 수 있다. 다트는 코드를 분석해 변수가 널을 허용하지 않는 것으로 판단하고, 항상 널을 허용하지 않도록 보장한다. 변수가 널을 허용하지 않기 때문에 선행 컴파일러는 널에 대한 검사를 할 필요가 없고 더 작고 빠른 코드를 생성할 수 있다. 

이 밖에 다트 개발팀은 널 안정성을 최대한 사용하기 쉽도록 개발 중이라고 설명했다. 널 안정성은 이전 버전과 호환되며, 강제적인 변화는 아니다. 개발자가 준비됐을 때 언제든지 채택할 수 있는 옵션 기능으로 지원될 예정이다. 다트 코어 라이브러리는 널 안정성을 사용할 수 있도록 업그레이드됐다. 

다트의 ‘견고한 널 안정성’ 설계 원칙은 다음과 같다. 

• 기본적으로 널을 허용하지 않는다. 개발자는 변수가 널 값을 가질 수 있거나 혹은 가질 수 없는 것으로 간주된다는 점을 분명히 유념해야 한다. 널이 불가능한 타입은 API에서 일반적이다. 
• 점진적으로 채택이 가능하다. 업데이트를 위한 툴이 제공된다. 
• 업데이트 이후에는 안전성의 이점을 온전히 누릴 수 있다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.