컴퓨터 언어/코틀린 26

[Kotlin] 코틀린 변수의 활용 (상수, 늦은 초기화,지연 대리자)const, lateinit, lazy by { }

안녕하세요. 훈츠 입니다. 이번 시간에는 변수에 선언에 대해 알아보도록 하겠습니다. 변수 관련해서 앞선 포스팅 2개를 했는데요. 오늘은 조금더 고급 스러운 변수 선언에 대해 알려 드리도록 하겠습니다. 바로 상수, 늦은 초기화, 초기화의 지연 입니다. 앞선 포스팅 한번씩 보시고 오셔도 도움이 될듯하여, 링크 붙였습니다. https://rain2002kr.tistory.com/62?category=361958 [Kotiln] 코틀린 변수와 자료형 안녕하세요. 훈츠 입니다. 이번 시간에는 코틀린의 자료형에 대해 설명 드리겠습니다. 코틀린은 자바를 대체할 목적으로 개발 되어 졌기 때문에, 자바에서 자주 발생하는 nullpointException 에러를 막는 방법도.. rain2002kr.tistory.com h..

[Kotlin] 코틀린 컬렉션 클래스 (collection)

안녕하세요. 훈츠입니다. 이번 시간에는 코틀린 에서 제공하는 List,Set,Map 을 사용하면 기본적으로 사용할수있는 컬렉션에 대해 이야기 해보겠습니다. 컬렉션 함수에 대해 설명한 이전 포스팅도 같이 한번 보시면 도움이 될것 같습니다. https://rain2002kr.tistory.com/91?category=361958 [Kotiln] 코틀린 컬렉션 함수 : 리스트, 셋, 맵(List, Set, Map) var list = listOf(1,2,3,4,5) var mutablelist :MutableList = mutableListOf() 안녕하세요. 훈츠 입니다. 오늘은 컬렉션 함수중 리스트에 대해 설명 드리도록 하겠습니다. 컬렉션 함수 리스트 (List) List.. rain2002kr.tisto..

[Kotlin] 코틀린 데이터 & 이늄 클래스 (data & enum class)

안녕하세요. 훈츠 입니다. 오늘은 데이터 클래스와 이늄 클래스에 대해 설명 드려보도록 하겠습니다. 데이터 클래스 (data class) 일반 클래스에 data 를 붙이면 data 클래스가 됩니다. data 클래스는 코틀린에서 데이터를 저장할 목적으로 만들어진 클래스로 데이터클래스로 선언하면 5가지 기능의 함수가 자동적으로 생성됩니다. equals() hashcode() toString() copy() component() x1 는 key값 , x2는 value값을 가져올수 있습니다. data class Data(var name:String,var hobby:String, var age:Int){} fun main() { var data = Data("은서", "공부",13) println(data.equ..

[Kotiln] 코틀린 중첩 클래스와 내부 클래스

안녕하세요. 훈츠 입니다. 금일은 중첩 클래스와 내부클래스에 대해 알아보도록 하겠습니다. 중첩 클래스 외부 클래스와 내부에 다른 클래스와 강하게 연결되어 있다는 의미를 전달하기 위해 만들어진 클래스 입니다. 하지만 외부 클래스와 내부 클래스는 내용을 공유 할수 없다는 특징도 있습니다. 외부 클래스와 내용을 공유 할수 없습니다. 사용시에는 중첩 클래스에 인스턴스를 만들어서 사용해야 합니다. var nested = Outer.Nested() class Outer(){ var text = "Outer class" class Nested(){ fun introduce(){ println("nested class") } } } fun main() { var outerNested = Outer.Nested() ou..

[Kotiln] 코틀린 함수의 활용 Vararg

안녕하세요. 훈츠 입니다. 금일은 함수에 대해 알아보겠습니다. 코틀린에서 함수를 사용할때 유용한 사항에 대해 정리 해보겠습니다. 함수 오버로딩 (Overloading) 함수의 이름이 같더라도, 속성값의 자료형이 다르거나 속성값의 갯수가 다르다면 오버로딩이 가능합니다. fun main(){ userPrint("testString") userPrint(100) } fun userPrint(data:String) { println("userPrint String : ${data}") } fun userPrint(data:Int) { println("userPrint Value : ${data}") } //출력화면 userPrint String : testString //오버로딩 확인 userPrint Valu..

[Kotiln] 코틀린 nullable 변수 처리

안녕하세요. 훈츠 입니다. 금일은 nullable 변수에 대한 처리에 대해 알아보도록 하겠습니다. Nullable 연산자 종류 [ ?. null safe , ?: 엘비스 , !! null 어소션] ?. null safe 연산자 (마치 if 문 처럼 동작합니다.) 스코프 함수와 같이 사용하면 편리합니다. ?: 엘비스 연산자 null이면 대체 되어서 동작 합니다. !!. 논 null 어소션 연산자 (일부러 null값이 오면 익셉션 에러를 발생 시킵니다.) val a : String? = "test" a?.run {println(a)} // null safe 연산자 a?:println("null입니다.") // 엘비스 연산자 println(a!!.toUpperCase()) // null 어소션 연산자 //출력..

[Kotlin] 코틀린 String 문자 클래스 객체 활용

안녕하세요. 훈츠 입니다. 오늘은 문자열 클래스에 대해 알아보도록 하겠습니다. 문자열 : 나누기, 대체하기, 합치기 val telnumber ="010-9898-8989" var telSplite = telnumber.split("-") //split 나누기 println(telSplite) println(telSplite.joinToString("-")) //joinToString 합치기 var tel = telnumber.replace("-","") //replace 대체하기 println(tel) println(tel.substring(3..10)) //원하는 영역 보기 //출력화면 [010, 9898, 8989] //split 나누기 010-9898-8989 //joinToString 합치기 01..

[Kotiln] 코틀린 컬렉션 함수 : 리스트, 셋, 맵(List, Set, Map)

var list = listOf(1,2,3,4,5) var mutablelist :MutableList = mutableListOf() 안녕하세요. 훈츠 입니다. 오늘은 컬렉션 함수중 리스트에 대해 설명 드리도록 하겠습니다. 컬렉션 함수 리스트 (List) List 는 가장 단순한 형태로 데이터의 집합 입니다. List = listOf() : 생성시에 넣은 객체를 대체, 추가, 삭제 할수 없습니다. MutableList = mutablelistOf() : 생성시에 넣은 객체를 대체, 추가, 삭제가 가능합니다. add, shuffle, remove, revmoveat 함수를 사용할수 있습니다. var list = listOf(1,2,3,4,5) var mutablelist :MutableList = mut..

[Kotlin] 코틀린 제너릭 Generic

안녕하세요. 훈츠 입니다. 오늘은 제너릭 Generic 에 대해 알아보도록 하겠습니다. 제너릭 클래스를 구현 하는 방법과 제너릭 펑션을 구현 하는 방법에 대해 알아보겠습니다. 제너릭 (Generic) 제너릭은 클래스나 함수에서 사용하는 자료형을 외부에서 지정할수 있는 기능입니다. 제너릭은 함수나 클래스를 선언 할때, 고정적인 자료형 대신 실제 자료형으로 대체되는 '타입 패러미터'를 받아 사용하는 방법입니다. 제너릭을 이용하면, 다형성에서 배운 is, as연산자 없이 타입변경 없이 사용이 가능합니다. 타입 파라미터의 이름은 클래스 이름과 규칙이 같지만 일반적으로 'TYPE' 의 이니셜인 'T' 를 사용하는 것이 관례입니다. 만약 여러개의 제너릭을 사용할 경우 T의 다음 알파벳인 를 추가적으로 사용 하기도 ..