본문 바로가기

Kotlin

(19)
(Kotlin) 어렵지만 쓰다보면 편한 Scope 함수에 대해 알아보자 코틀린에는 scope 함수라는 기능이 있다 그렇지만 이 scope 함수가 많지만 비슷하게 보이는 경우가 많아서 헷갈리는 경우가 많다 오늘은 그래서 scope 함수에 대해서 정리를 해보려고 한다 Scope 함수를 이해가 위해서는 먼저 고차함수와 람다 표현식를 이해하는 것이 좋다 고차함수함수를 인자로 받거나 결과 값으로 함수를 반환 할 수 있는 함수고차함수는 function1(100, 100) -> {} 같은 람다 함수 방식으로 표시 할 수 있다또한 :: (함수 참조 연산자(?))를 사용하여 함수를 표현할 수 있다 -> 해당 내용은 다른 포스팅에서 자세하게 다뤄볼 예정입니다fun addTwoNumbers(number1: Int, number2: Int): Int { return number1 + number..
(Kotlin) Interface와 abstract의 차이점 분석 Kotlin으로 코딩을 하다 보니까 문득 이런 생각이 들었다 " interface와 abstract class는 생각해보면 다른 클래스에게 자신의 추상 메서드를 상속시켜서 자식 클래스에게 추상 메서드를 재정의하게 하는 것인 것 같은데 이 둘은 무슨 차이로 나눠 놓은 걸까" 이 부분이 궁금해서 직접 작성하면서 회고해보려고 한다 공통점1. 이 둘은 모두 추상 메서드를 받을 수 있기 때문에 자식 클래스에서 반드시 추상 메서드를 재정의 해야 하는 공통점이 있다  예를 들어서package org.example//추상 클래스 선언abstract class Calculator{ //추상 함수 선언 abstract fun result(num1:Int, num2:Int):Int..
(Kotlin) java.lang.unsupportedclassversionerror 애러 해결 금일 코틀린 프로젝트 생성 도중에 아래와 같은 애러가 발생하였다 java.lang.unsupportedclassversionerror: org/example/mainkt has been compiled by a more recent version of the java runtime (class file version 65.0), this version of the java runtime only recognizes class file versions up to 62.0 - 찾아보니까 해당 애러는 최신 버전의 Java 런타임 버전으로 컴파일이 되었다는 애러였다 우선 내가 사용할 Java 버전은 18.. 생각해보니까 내가 예전에 코틀린 프로젝트 작업을 했을 때 가장 최신 버전의 Java22 버전을 썻던 것이..