본문 바로가기
반응형

Kotlin Language55

Kotlin(코틀린) - 널 안전성 (Null-Safety) 널 안전성 (Null Safety) ? null safety(널 안전성)를 강조하는 프로그래밍 언어로, null에 대한 안전한 처리를 지원합니다. NullPointerException(NPE)과 같은 예외를 방지하고 프로그램의 안정성을 향상시키는 데 도움이 됩니다. 코틀린은 Nullable과 Non-Null 타입으로 프로퍼티를 선언할 수 있으며, 기본적으로 값이 null 아니고 NotNull이다. 코틀린에서는 왜 널을 기본값으로 하지 않을까? Java에서 가장 많이 발생하는 오류는 NPE(NullPointerException)입니다. 코틀린은 코드에서 NPE(NullPointerException)을 제거하기 위해서 기본적으로 허용하지 않습니다. 허나, null값을 허용하는Nullable 타입으로 프로퍼티.. 2023. 12. 5.
Kotlin - x만큼 간격이 있는 n개의 숫자 ( 16 ) 프로그래머스 문제 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4, -8] 코틀린 x만큼 간격이 있는 n개의 숫자 답 class Solution { fun solution(x: Int, n: Int): LongArray { val answer = LongArray(n){i-> x.toLong() * (i + 1).toLong() } return answer } } 코틀린 풀이 x와 n이라는 두 개의 정수 매개변수를 받습니다. LongArray(n)은 길.. 2023. 12. 5.
Kotiln(코틀린) - 예외처리(try catch,throw) 예외처리(Exception) ? 함수를 실행하고 어떤 값을 반환하거나 비정상적으로 오류가 발생한 경우 예외를 던질(throw) 할 수 있습니다. 예외가 발생한 경우에는 함수를 호출한 쪽에서 예외를 잡아내거나(catch), 예외에 대해 처리를 하지 않는 경우 함수 호출 스택을 거슬러 올라가면서 예외를 처리하는 부분이 나올 때까지 예외를 다시 던질 수도 있습니다.(rethrow) try catch finally 기본적인 예외 처리는 try-catch 블록을 사용합니다. try { // 예외가 발생할 수 있는 코드 } catch (e: SomeException) { // 해당 예외를 처리하는 코드 } catch (e: AnotherException) { // 다른 예외를 처리하는 코드 } finally { /.. 2023. 12. 5.
Kotlin(코틀린) - 접근제한자 접근 제한자(Visibility Modifier)? 객체가 공개되어야 하는 범위를 정하는 역할을 하고 있습니다. 접근 제한자 종류? 코틀린에서는 private, protected, internal, public의 접근 제한자를 사용하고 있으며, 변수, 클래스 멤버 등의 참조 종류 설명 public 코틀린의 기본 접근 제한자로써, 어디에서나 접근할 수 있습니다. private 해당 파일(.kt) 또는 클래스 내에서만 접근 가능합니다. protected 상속받는 인터페이스, 클래스 또는 자식 클래스에서 만 접근이 가능합니다. internal 같은 모듈 내에서 어디서든 접근 가능하다. 모듈이란? 모듈은 일반적으로 관련된 코드 및 리소스를 그룹화한 단위를 나타냅니다. 모듈은 프로젝트 내에서 독립적으로 컴파일되고.. 2023. 12. 5.
Kotlin(코틀린) - 람다함수 (Lambda Expression) 람다 표현식 ( Kotlin Lambda Expression ) ? 람다식(Lambda expressions)은 간결하게 표현된 익명 함수입니다. 람다식은 함수형 프로그래밍의 핵심 요소 중 하나로, 코드를 간결하게 작성하고 함수를 일급 객체로 다룰 수 있게 해줍니다. 간단히 람다라고도 불리며, 익명 함수(Anonymouse function)를 의미하기도 합니다. 익명 함수는 함수의 이름이 없는 혹은 생략한 함수를 말하며, 보통 한번 사용되고 재사용되지 않는 함수를 만들때 익명 함수로 만드는데, 변수에 대입하여 이용하거나 콜백 함수에 지정할 수 있다. 그러기에 함수를 따로 생성하지 않고, 코드에 익명 함수를 만들어 코드 가독성을 높일 수 있다. 이는 함수형 프로그래밍에서 자주 사용하는 패턴입니다. 람다식은.. 2023. 12. 3.
Kotlin(코틀린) - 인터페이스(Interface) Interface 란? 코틀린에서의 인터페이스는 자바의 인터페이스와 유사하지만 몇 가지 차이점이 있습니다. 구현부가 있는 함수가 정의될 수 있습니다. 단 어떤 멤버(field)도 가질 수 없습니다. 아래에서 코틀린 인터페이스에 대한 주요 특징을 설명하겠습니다. Interface 선언 코틀린에서는 인터페이스를 선언할 때 'interface' 키워드를 사용합니다. interface MyInterface { // 인터페이스 내용 } 다중 인터페이스 구현 코틀린 클래스는 여러 개의 인터페이스를 동시에 구현할 수 있습니다. interface Interface1 { fun method1() } interface Interface2 { fun method2() } class MyClass : Interface1, I.. 2023. 12. 3.
Kotlin - 나머지가 1이 되는 수 찾기 프로그래머스 코딩 연습 (15) 프로그래머스 문제 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. n result 10 3 12 11 코틀린 나머지가 1이 되는 수 찾기 답 class Solution { fun solution(n: Int): Int { for( i in 2..n-1) for (n%i == 1) return i } return 0 } } 코틀린 풀이 매게변수 n을 입력받아 for문을 사용해 i 는 2부터 n -1 까지의 값을 순회하는 반복문을 만듭니다. 그 후 순회 중인 값 i가 n으로 나누어 떨어지지 않고 나머지가 1이면, 해당 값을 반환하고 함수를 종료합니다. 반복문.. 2023. 12. 3.
Kotlin - 약수의 합 프로그래머스 코딩 연습 (14) 프로그래머스 문제 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. n return 12 28 5 6 코틀린 약수의 합 답 class Solution { fun solution(n: Int): Int { var answer = 0 for(i in 1..n) { if( n % i == 0 ) { answer += i } } return answer } } 코틀린 풀이 answer 라는 변수를 0으로 초기화합니다. for문을 통해 i는 1부터 입력받은 n까지 순회하는 반복문을 실행합니다. 순회하는 i의 값이 약수인지 확인하기 위해서 입력받은 n을 i로 나눕니다. 나머지가 0이되면 i는 n의 약수입니다. 그 후 answer += i로 넘어와 현재 약수 i를 더합니.. 2023. 12. 3.
Kotlin(코틀린) - 상속(inheritance) 상속 (inheritance) 상속은 클래스 간의 관계를 정의하고 부모 클래스의 특성을 자식 클래스에서 사용할 수 있도록 하거나, 클래스들의 공통점을 찾아낼 때 유용하게 사용할 수 있습니다. 상속은 객체 지향 프로그래밍의 중요한 개념 중 하나이며, 코드의 재사용성과 유연한 확장성을 높이는 데 기여합니다. 클래스 선언 안에서의 상속 코틀린에서 클래스 간의 상속은 클래스 선언 부분에서 : (콜론)을 사용하여 정의됩니다. 부모 클래스와 자식 클래스 간의 상속 관계를 형성하려면 자식 클래스 선언부에서 부모 클래스를 명시해야 합니다 // 부모 클래스 open class Animal(val name: String) { fun makeSound() { println("소리") } } // 자식 클래스 class Do.. 2023. 12. 1.
728x90
반응형