2025-03-18 바람

@장태근· March 18, 2025 · 4 min read

아무도 만질 수 없는 기억의 바람

Kotlin in Action

7장, 널이 될 수 있는 값

  • nullable type

    • 최신 언어들은 실행 환경이 아닌 아닌 컴파일 단계에서 NPE(NullPointerException)가 발생할 수 있도록 지원한다.
  • 타입 뒤에 ?는 해당 타입이 널을 참조할 수 있음을 암시한다.
  • 널이 될 수 있는 타입과, 널이 될 수 없는 타입을 구분하면 어떤 연산이 가능한지 명확하게 이해할 수 있다.

    • 실행 환경은 같은 타입이다. 래퍼 타입이 아니다.
  • null을 다루는 방법

    • if
    • ?.

      • 호출 값이 null이 아니면 일반 메서드 호출처럼 동작한다.
      • 호출 값이 null이라면 호출을 무시한다.
    • ?:

      • null을 특정 값으로 변경한다. 기본값 할당에 주로 사용한다.
    • 안전한 캐스트 연산자(safe-cast operator)
    • !!(not-null assertion)

      • 컴파일러에게 null이 아님을 단언한다.
      • null이면 NPE가 발생한다.
      • 다른 방법을 우선 고려하자.
    • let 함수
    • lateinit
    • DI(Dependency Injection를 적용한 프레임워크 사례
  • Nullability in Java and Kotlin
  • Null safety

자바 알고리즘 인터뷰 with 코틀린

플랫폼 별 특징과 활용, 사전 준비

  • 코딩 인터뷰는 마이크로소프트가 처음 도입한 것으로 추정된다. 꾸준히 확대되어 컴퓨터 과학 기본기 검증에 주로 사용한다.
  • 면접관이 함께하는 방식을 '인터뷰'로 분류하고, 시험을 치르는 방식을 '테스트'로 분류한다.
  • 온라인 코딩 테스트의 사전 준비 사항

    • 연습장과 필기도구: 값의 변화, 최종 결과를 기록하고 풀이를 비교한다.
    • 나만의 코드 스니펫(Snippet)
    • 예외 처리
    • REPL(Read Evaluate Print Loop) 도구로 코드 검증
    • 코딩 테스트 플랫폼 숙지: 해커랭크, 프로그래머스

생각을 넓혀주는 독서법

  • 투수와 타자의 관계, 읽고 듣기도 적극적인 자세가 필요하다.
  • 깊이 이해하는 독서는 깨달음을 동반한다.
  • 읽기란 보이지 않는 교사에게 배우는 방법이다.

마치며

마감 기한을 지키고 방문하는 도서관은 산들바람이 되어 가슴에 안긴다.

오늘의 함께 읽기

@장태근
개발자. 명료한 생각이 명료한 글이 된다.