일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- L293D
- string함수
- 아두이노 모터 드라이버
- PICO4
- kotlin
- 카이캐드 다운로드
- 카이캐드
- ESP32_S2
- 재정의함수
- 카이캐드 설치
- 7세그먼트
- 추상화함수
- androidstudio
- 우송대 라즈베리파이 피코
- KiCad
- 업캐스팅
- 공약수
- 아두이노
- 유클리드 호제법
- ATmega328p
- 라즈베리파이 피코
- GCD
- 우송대학교
- 안드로이드스튜디오
- 개발 보드
- Arduoin
- ESP32_S2_WROVER
- 우송대
- 약수 구하기
- 코틀린
- Today
- Total
목록kotlin(코틀린) 강좌 (12)
개발자의 생활
이번에는 문자열을 다루면서 편리한 함수를 알아보겠습니다. 1. 문자열 길이 구하기val str = "Kotlin.Program"println(str.length)length는 함수가 아닌 속성으로 단순히 문자열 길이를 알 수 있습니다. 2. 대소문자 변환val str = "Kotlin.Program"println(str.lowercase())println(str.uppercase())lowercase는 문자열을 모두 소문자로 바꿔주고uppercase는 문자열을 모두 대문자로 바꿔줍니다. 3. 문자열 나누기val str = "Kotlin.Program"val listStr = str.split(".")println("0번째: ${listStr[0]} 1번째: ${listStr[1]}")split 함수는 특..
제네릭은 코드를 작성하면서 다양한 데이터타입의 안정성을 높여주기 위해 만들어진 개념 입니다.간단하게 어떤 데이터 타입이 들어오더라고 해당 타입으로 지정이 되는 익명 타입 이라고 보면 될거 같습니다. 사실 저의는 배열을 사용하면서 이미 제네릭을 사용하였습니다.ArrayArrayArrayArray 이렇게 Array> 꺾쇠 내부에 생성하고자 하는 배열의 데이터 타입을 넣어서 해당 타입의 배열을 만들어 사용하였습니다. 이번에는 직접 제네릭을 사용하는 방법을 알아보고 제네릭 클래스를 만들어 보겠습니다.class GenericClass (val dataA: T)제네릭 클래스는 클래스 명 뒤에 를 열고 안에 타입 명을 넣어주시면 됩니다. 이 부분에는 데이터 타입명이 들어가는 자리이지만 코드를 작성하는 시점에서는 타입..
고차함수는 함수를 변수처럼 다른함수에 인자로 넘기거나 반환할 수 있는 타입의 함수입니다. 그리고람다함수는 함수를 간결하고 익명함수로 이름을 정의하지 않고 간단한 로직을 작성할 때 사용하는 함수입니다. 이 함수들을 이용하면 간결하고 유연한 코드작성이 가능해집니다. 예시와 함께 사용방법을 알아보겠습니다. 고차함수fun main() { higherFun(::testFun)}fun testFun(str: String){ println("이 함수는 $str")}fun higherFun(a: (String) -> Unit){ a("고차함수 입니다.")} 메인 함수를 제외하고 함수 2개가 있습니다. 위에 두 함수 모두 일반적인 함수의 형태이지만 higherFun 함수의 매개변수 타입은 일반적이지 않습..
이전에 클래스 상속에 대해 알아보았는데요 이번에는 상속을 통해 다형성을 구현할 수 있습니다.다형성이란 여러 다양한 기능을 가진 객체 라고 설명할 수 있습니다. 예를들어 저의가 결제 시스템을 만든다고 했을때 결제하는 기능을 가진 클래스를 하나 만들어야 하죠 하지만 결제 방식은 삼성페이, 애플페이, 구글페이 등 같은 결제시스템 안에 다양한 방식의 결제기능을 구현해야 합니다.만약 각각 결제방식마다 구분해서 다양한 클래스로 만들면 추후에 새로운 결제시스템을 추가하거나 수정하는등의 유지보수를 하기 힘들어 질겁니다. 다형성은 이러한 문제를 해결할 수 있게 합니다. 다양한 결제시스템을 구현한 클래스를 하나의 클래스로 연결해서 관리하면 유지보수에 용이합니다. 다형성을 활용한 코드 예시fun main() { val..
이번에는 접근 제한자 에 대해 알아보겠습니다.접근제한자를 알기 위해서는 프로젝트 구조에 대해 먼저 알고있어야 하기 때문에 코틀린 프로젝트 구조를 먼저 살펴보겠습니다.***프로젝트 구조는 자바와 동일하기 때문에 자바를 알고 계시다면 넘어가셔도 됩니다.*** 프로젝트 구조는 물리구조와 논리구조로 구분할 수 있습니다. 물리구조Hello 라는 이름의 프로젝트를 생성하게 되면 기본으로 Hello 라는 이름의 모듈이 자동으로 만들어지게 됩니다.그리고 모듈 내부에 프로젝트를 구성하는데 필요한 기본적인 파일들과 폴더가 만들어져 있습니다.모듈은 기본으로 생성되는것 이외에도 개발자가 추가로 생성할수도 있고 누군가 만들어 놓은 모듈을 가져다 사용할 수도 있습니다. 지금 위 구조가 물리구조에 해당합니다. 실제 프로젝트 내부에..
Classclass는 속성과 함수로 이루어져 있습니다. 지금까지 사용했던 변수들도 모두 클래스로 이루어진 것이죠이번에는 클래스를 직접 만들고 사용해 보겠습니다. 사용법은 함수와 비슷합니다.class People(val name: String, val age: Int)함수를 만들 때는 fun 을 사용한것처럼 클래스를 만들때는 class 키워드를 사용하시면 됩니다.다음으로 클래스 이름을 작성하시면 되는데 함수와의 차이점은 이름 첫 글자가 함수는 소문자로 작성해야 했지만 클래스는 대문자로 시작해야 합니다.그리고 소괄호 내부에 속성을 적으시면 됩니다. 여기서도 함수와의 차이점은 함수는 변수키워드를 작성하지 않고 기본으로 val로 선언이 되었지만 클래스는 직접 정의할 수 있습니다. 변수명을 짓는 것과 동일하게 하..