TIL(Today I Learned)(42)
-
240527_디모의 코틀린 강의 #21강. 문자열을 다루는 법
1. 문자열을 다루는 다양한 속성 및 함수들fun main(){ val test1 = "Test.Kotlin.String" println(test1.length) // 문자열 길이 출력 println(test1.toLowerCase()) // 소문자로 변환 println(test1.toUpperCase()) // 대문자로 변환 val test2 = test1.split(".") // "."을 기준으로 문자열을 분리 println(test2) println(test2.joinToString()) // Test, Kotlin, String println(test2.joinToString("-")) // Test-Kotlin-String println(te..
2024.05.23 -
240524_디모의 코틀린 강의 #20강. 리스트
유튜브 - 디모의 코틀린 문법 강의 정리 #20강. 리스트 1. 리스트: 데이터를 모아 관리하는 컬렉션 클래스의 서브클래스 중 가장 단순한 형태2. 리스트의 종류 1) List: 생성 시 넣은 객체를 대체/추가/삭제 불가 2) MutableList: 생성 시 넣은 객체를 대체/추가/삭제 가능 - 추가 = add() / 삭제 = removeAt() / 섞기 = shuffle() / 정렬 = sort()3. 함수형 1) listOf() 2) mutableListOf() for main(){ val a = listOf("사과", "딸기", "배") println(a[1]) // 딸기 for (fruit in a){ println("${fruit}:") // 사과:딸기:배: } ..
2024.05.23 -
240523_디모의 코틀린 강의 #19강. 제너릭
유튜브 - 디모의 코틀린 문법 강의 정리 #19강. 제너릭 1. 제너릭: 함수나 클래스 선언 시 고정적인 자료형 대신 실제 자료형으로 대체되는 타입 파라미터(, , 등)를 받아 사용하는 방법 - 캐스팅연산을 통해서도 같은 작업이 가능하지만, 캐스팅연산 시 속도가 저하될 수 있다는 문제가 존재함. - 타입 파라미터에 특정 자료형이 할당되면 제너릭을 사용하는 모든 코드가 할당된 자료형으로 대체됨 => 캐스팅연산 없이도 자료형 그대로 사용 가능 * 특정한 수퍼클래스를 상속받은 클래스 타입으로만 제너릭을 제한하려면 => 꼴로 작성하기. for main(){ UsingGeneric(A()).doShouting() // A가 소리친다 UsingGeneric(B()).doShouting() //..
2024.05.23 -
240522_디모의 코틀린 강의 #18강. 클래스의 다형성
유튜브 - 디모의 코틀린 문법 강의 정리 #18강. 클래스의 다형성 1. 다형성: 클래스의 상속에서, 수퍼클래스를 서브클래스로 / 서브클래스를 수퍼클래스로 인식할 수 있는 개념 2. 업캐스팅(Up-Casting): Cola 인스턴스를 Drink 변수에 담는 것var a:Drink = Cola() 3. 다운캐스팅(Down-Casting): 업캐스팅된 인스턴스를 하위 자료형으로 변환하는 것 - 다운캐스팅 시 별도의 연산자인 'as', 'is'가 필요함 - as: 변수를 호환되는 자료형으로 변환해주는 캐스팅 연산자var a:Drink = Cola() // 업캐스팅a as Cola // 다운캐스팅과 동시에 자료형 변환 - is: 변수가 자료형에 호환되는지 확인한 후 변환하는 캐스팅 연산자(조건문과 함께 ..
2024.05.22 -
240521_디모의 코틀린 강의 #17강. 익명객체와 옵저버 패턴
유튜브 - 디모의 코틀린 문법 강의 정리 #17강. 익명객체와 옵저버 패턴 1. 옵저버 패턴: event(키의 입력, 터치 발생, 데이터 수신 등 함수로 직접 요청하지 않았지만 시스템, 루틴에 의해 발생하는 동작)가 발생할 때마다 즉각 처리하게 만드는 프로그래밍 패턴 - 옵저버 패턴에 필요한 2개의 클래스: event 수신 클래스, event 발생/전달 클래스 fun main(){ EventPrinter().start()}interface EventListener{ fun onEvent(count:Int)}class EvetPrinter : EventLister{ override fun onEvent(count:Int){ println("${count} - ") } fun st..
2024.05.20 -
240520_디모의 코틀린 강의 #16강. 오브젝트
유튜브 - 디모의 코틀린 문법 강의 정리 #16강. 오브젝트 1. 오브젝트: 단 하나의 객체만으로 공통적인 속성이나 함수를 사용해야 하는 코드에서 별도의 클래스 없이 object로 대체할 때 사용(인스턴스 생성 X) fun main(){ println(Counter.count) Counter.countUp() Counter.countUp() println(Counter.count) Counter.clear() println(Counter.count) // 0 2 0 출력}// object는 최초 사용 시 자동 생성, 이후에는 코드 전체에서 공통으로 사용// -> 종료 전까지 공통으로 사용할 내용들을 묶어서 만드는 것이 좋음object Counter { var count = 0..
2024.05.20