JAVA Back-End/kotlin(2)
-
[kotlin] null-safety / 예외처리
kotlin에서의 null 안정성을 정리 널 안정성 (null-safety) 1. null참조의 위험성 프로그래밍 언어에서 가장 많이 발생하는 예외 유형은 NullPointerException - 줄여서 NPE null을 발명한 토니호어는 1965년 null을 발명 후 수십년간 수십억 달러의 시스템 오류 및 피해가 발생해 null을 개발한 게 1조 짜리 실수였다고 고백함... ㅜㅜ >> 자바는 NPE을 줄이기 위해 Optional을 지원 >> 자바의 Optional은 값을 래핑하기 위해 때문에 객체 생성에 따른 오버헤드(미미하지만) 발생하고, 컴파일 단계에서 null가능성을 검사하지 않음 ㅜ >> 코틀린을 비롯한 최신 언어에선 null가능성을 컴파일러가 감지해서 NPE가능성을 줄일 수 있음! fun ge..
2023.02.02 -
kotlin 문법 정리 (변수 / 함수 / 흐름제어)
변수 val a: Int = 10 // type없어도 compile 오류 x (타입추론) - 생략가능 val b = "hellio" // 지연할당 지원. 지연할당 시에는 타입을 선언해줘야 합니다. val c: Int c = 10 // val(value) - read only. 재할당 시 컴파일 오류 // var (variable) - 재할당 가능 함수 // 기본적 함수 선언 fun sum(a: Int, b: Int): Int { return a+b; } // 표현식 스타일 fun sum2(a: Int, b: Int): Int = a + b; // 표현식 & 반환타입 생략 fun sum3(a: Int, b: Int) = a + b; // 몸통이 있는 함수는 반환 타입을 제거하면 컴파일 오류 fun sum4..
2023.02.01