개발/kotlin

    728x90
    반응형

    object, companion object, 최상위 함수 정리

    개요Java에서는 static 키워드를 사용하여 클래스 수준에서 접근 가능한 필드와 메서드를 정의합니다. 코틀린에서는 static 키워드가 없지만, 비슷한 기능을 제공하는 object, Companion Object, 최상위 함수와 변수를 사용하는 방법이 있습니다.  공통점정적 접근 가능: 모두 인스턴스를 생성하지 않고도 접근할 수 있습니다.유틸리티 함수와 상수 관리: 주로 유틸리티 함수와 상수를 관리하는 데 사용됩니다.재사용성: 코드의 재사용성을 높이고 모듈화하는 데 도움이 됩니다.  차이점Object 키워드정의: object 키워드를 사용하여 싱글톤 객체를 정의합니다. 프로그램 전역에서 하나의 인스턴스만 존재합니다.용도: 주로 전역적으로 하나만 존재해야 하는 객체를 정의할 때 사용합니다.초기화: 프로..

    [라이브러리] [Proj4J] 좌표계 변환 방법

    EPSG:4326 좌표계를 EPSG:5181 좌표계로 변경해야 하는 일이 생겼습니다.국토교통부 V-WORLD에서 제공하는 GeocoderAPI를 사용해서 좌표를 주소로 변환하려고 했는데 EPSG:5181 좌표계 (Korean 2000 / Central Belt) 상의 주소값을 구해야 하는데 사용할 수 있는 위도, 경도 데이터는 EPSG:4326 좌표계 (WGS84) 에서 사용하는 데이터여서 위도, 경도 데이터를 5181 좌표값으로 변경을 해야 합니다.이를 위해 Proj4J 라이브러리를 사용할 수 있습니다. 1. 라이브러리 추가implementation("org.locationtech.proj4j:proj4j:1.3.0")implementation("org.locationtech.proj4j:proj4j-..

    [kotlin] ByteArray를 Int, Int를 ByteArray로 변경하는 방법

    1. ByteArray를 Int로 변환ByteArray를 Int로 변환하는 방법은 비트연산자를 이용하는 방법과 ByteBuffer를 사용하는 방법이 있습니다.다음은 비트연산자를 사용해서 ByteArray를 Int로 변환하는 예제 코드입니다. 이 예제에서는 Big-Endian 방식을 사용합니다. 만약 Little-Endian 방식으로 변환하려면, 바이트 순서를 뒤집어야 합니다. 1-1. 비트연산자Big-Endian 변환 예제fun ByteArray.toIntBigEndian(): Int { if (this.size 바이트 배열 크기 검사: this.size 바이트 별로 변환 및 결합:this[0].toInt() and 0xFF shl 24: 배열의 첫 번째 바이트(this[0])를 Int로 변환하고,..

    728x90
    반응형