본문 바로가기
자기계발/IT

[Flutter/플러터] 다트(Dart) 언어 null 처리에 관한 기능 알아보기

by KTC 2023. 3. 6.

목차

    반응형

    안녕하세요!

    다트 언어의 null 처리에 관한 기능을 알아보겠습니다.

     

    null 처리에 관한 기능

    • 값이 없다는 의미의 null은 에러를 유발하기 쉬움
    • 값이 null인 객체에 접근해 조작하면 프로그램을 에러를 내면서 중지하게 됨
    void main() {
    
      String? name;
      
      print(name.length);
      
    }

    코드 실행시 에러

     

    • 다트에서는 모든 것이 객체
    • int, double, bool 같은 타입도 모두 클래스이며, 모두 null 값을 가질 수 있음
    • 다트에서 모든 타입은 null일 수 있음
    • 일반적으로 프로그래밍에서는 if문을 이용하여 null인지 검사
    void main() {
    
      String? name;
    
      if(name != null) {
        print(name.length);
      }
    
    }

     

    • 다트에서 제공하는 ?. 연산자를 사용하면 null 여부를 간단히 판단 가능
    • 객체의 프로퍼티나 메서드에 접근할 때 . 연산자 대신 ?. 연산자를 사용하면 객체가 null일 때 에러 대신 null을 반환
    void main() {
    
      String? name;
    
      print(name?.length);	//null 출력
    
    }

     

    • ?? 연산자는 객체가 null일 때 작동을 간단히 구현하는 데 사용
    void main() {
    
      String? name;
    
      //객체가 null이 아니면 길이를, null이면 0을 반환하는 코드(if문 사용)
      if(name != null ) {
        print(name.length);
      } else {
        print(0);
      }
    
      print(name?.length ?? 0); //name이 null이면 0 출력
    
    }
    반응형