전체 글
💡 범위 지정 함수란? (= Scope Function) 범위 지정 함수는 특정 범위 블록 내에서는 특정 객체를 this, it을 통해 접근하거나 조작할 수 있는 함수를 말한다. 즉, 범위 지정 함수를 사용하면 임시 Scope가 형성된다. 이렇게 사용하면 뭐가 좋냐? 일단 가독성이 증가하여 유지보수가 쉽고, 불필요한 변수 선언을 방지할 수 있다. Kotlin에서는 범위 지정 함수 5가지(let, apply, with, also, run)를 제공하고 있다. 이 함수들은 수신 객체를 어떻게 전달하는지, 반환 값이 무엇인 지에 따라 차이점이 있다. 💡 Type 1 : let 함수 fun T.let(block : (T) -> R) : R let은 수신 객체를 람다의 Parameter로 전달하기 때문에 'it'을..
💡 출처 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LtJYKDzsDFAXc SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 💡 문제 [설명] N^2개의 방이 N×N형태로 늘어서 있다. 위에서 i번째 줄의 왼쪽에서 j번째 방에는 1 이상 N^2 이하의 수 Ai, j가 적혀 있으며, 이 숫자는 모든 방에 대해 서로 다르다. 당신이 어떤 방에 있다면, 상하좌우에 있는 다른 방으로 이동할 수 있다. 물론 이동하려는 방이 존재해야 하고, 이동하려는 방에 적힌 숫자가 현재 방에 적힌 숫자보다 정확히 1 더 커야 한다. 처..
💡 개요 코드를 작성하다 보면 NullPointerException(NPE)를 자주 접할 수 있다. 이 예외는 Null 값을 참조하는 경우에 발생하는 예외이다. 생각보다 NPE는 자주 발생하며 코드가 길어질수록 그 원인을 파악하기 힘든 경우가 많다. 그래서 Kotlin에서는 Null에 대한 처리를 명확하게 하여 NPE의 발생빈도를 낮추고자 했다. 오늘은 Kotlin에서 Null을 어떻게 다루는지에 대해 알아보고자 한다. 💡 Type 1 : '?' 연산자 코틀린에서는 기본적으로 Null 값을 허용하지 않는다. 대신 '?'를 붙여 Null이 올 수도 있는 변수임을 명시적으로 표현할 수 있다. 아래와 같이 '?'연사자를 사용하지 않은 변수 a의 경우 Null 값을 넣으면 Error가 발생한다. 하지만 '?' ..