본문 바로가기

Programming/Kotlin, Android

[Kotlin] 알아가기 - 5 1. Generics 일단 아래 소스를 보자. list를 초기화 하고 초기 값을 할당하였다. Finder라는 클래스를 만들고 findItem 메서드를 구현했다. (using Trailing Lambda) findItem 메서드를 통해 사용자가 원하는 문자열을 찾는 간단한 기능의 예제이다. fun main(){ val listOfItems = listOf("Kotlin", "Java", "WPF") val finder = Finder(listOfItems) finder.findItem("WPF"){ println("Found $it")//Found WPF } } class Finder(private val list: List){ fun findItem(element: String, fountItem: (e.. 더보기
[Kotlin] 알아가기 - 4 (OOP) 1. Object Oriented Programming 코틀린은 객체지향프로그래밍언어이다. 일반적으로 명사가 객체가 되고 동사가 객체 내부에서 메서드가 된다. 예를들어 '자동차가 시속 100km/h로 주행중이다' 라는 문구에서 자동차는 객체이고 시속 100km/h는 멤버변수, 주행중은 메서드로 구성할 수 있다. fun main(){ val car = Car("Green", "Model3") val secondCar = Car("Black", "ModelX") println("Car color: ${car.color}, model: ${car.model}") println("Second car color: ${secondCar.color}, model: ${secondCar.model}") car.spee.. 더보기
[Kotlin] 알아가기 - 3 (Collections) 코틀린에서 Collections는 3가지 종류가 있다. 1. list 2. set 3. map 여기서도 읽기/쓰기가 가능한지(mutable), 읽기만 가능한지(immutable)에 따라 선언방식이 다르다. 1. List 리스트는 배열과 같은 기능을 가진다. listOf로 초기화하면 읽기만 가능한 리스트가 생성이 되고, mutableListOf로 선언한 리스트는 add나 removeAt등의 함수를 이용해 값을 변경할 수 있다. 아래 소스코드는 리스트의 값 변경 및 다양한 출력 방법이다. fun main(){ val list = listOf("Kotlin", "Java", "C")//읽기 val mutableList = mutableListOf(1, 2, 3, 4)//읽기, 쓰기 //val mutableLi.. 더보기
[Kotlin] 알아가기 - 2 (fun, Lambda) 1. 코틀린 함수 코틀린에서 함수 선언은 fun으로 시작한다. calculate 함수의 파라미터 fitst와 second는 매개변수이름이고 Int형으로 받는다는 의미이다. fun main(){ calculate(1, 10) } fun calculate(first: Int, second: Int){ var sum = 0 for(i in first..second){ sum += i } println(sum) } 다음과 같이 default argument로 설정할 수도 있다. fun main(){ calculate(1, 10, "Calculate", 5) } fun calculate(first: Int = 1, second: Int = 1000, message: String, multipleOf: Int){ .. 더보기
[Kotlin] 알아가기 - 1 1. 변수 var, val var는 variable의 약자로 값의 읽기, 쓰기가 허용 val는 value의 약자로 값의 읽기만 허용 fun main(){ var name = "Kotlin" val myName = "Ko" println("Hello $name") println("Hello $myName") name = "Changed Name" myName = "Changed Name" } 위 코드에서 name은 variable로 선언되어 있고, myName은 value로 선언되어 있다. value로 선언된 myName 변수는 초기화때 말곤 값의 변경이 불가하기 때문에 myName = "Changed Name" 라인은 오류를 발생시킨다. 2. 명시적 타입 선언 컴파일러에게 이 변수는 어떤 타입이다 라고 .. 더보기