일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바
- js
- 코틀린
- ListView
- Kotlin
- golang
- 싱글 스레드
- 배열
- 안드로이드
- Overloading
- 리스트 뷰
- go
- HP
- node.js
- 노트북 추천
- 오버로딩
- 함수
- Java
- Array
- javascript
- adapter
- 노트북
- 패널 교체
- 자바스크립트
- Python
- 파이썬
- 연산자
- blockchain
- Android
- var
- Today
- Total
목록프로그래밍 (Programming)/코틀린 (Kotlin) (20)
Bbaktaeho
멤버 함수)클래스에서 생성된 속성과 함수를 멤버라고 한다.여기서 멤버 함수는 인스턴스가 할 수 있는 기능을 나타낸다.함수를 정의하는 방법 그대로 클래스 내부에 정의해주면 된다.(함수 정의하는 법) https://bbaktaeho-95.tistory.com/25클래스 내부에 멤버 함수를 정의해보자.fun main() { val MyCar = Car() MyCar.printCar()}class Car{ var engine: String = "현대" //클래스의 멤버 변수 var tire: String = "한국타이어" //클래스의 멤버 변수 var door: Int = 4 //클래스의 멤버 변수 fun printCar() { println("엔진은 ${this.engine}, 타이어는 ${this.tire..
코틀린에서 속성이란)최상위 변수(함수나 클래스 외부에 정의된 변수)나 클래스의 멤버 변수로 선언하면 속성으로 간주된다. 클래스의 멤버 변수는 모두 private 제한자로 지정된다. 따라서 해당 클래스의 내부의 게터와 세터를 통해서만 속성을 참조할 수 있다.val a : String = "최상위" //최상위 변수(게터만 생성)fun main() { val MyCar = Car("GDI") val YourCar = Car()}class Car{ var engine: String //클래스의 멤버 변수(게터,세터 생성) var tire: String //클래스의 멤버 변수(게터,세터 생성) var door: Int //클래스의 멤버 변수(게터,세터 생성) constructor(engine: String =..
클래스)class 키워드를 사용하여 선언하며 멤버 속성과 멤버 함수를 가질 수 있다.class 클래스이름 {멤버들 구현}멤버를 가지고 있지 않으면 중괄호를 생략 가능하다.class 클래스이름기본 생성자)코틀린에서 기본 생성자는 클래스 헤더 안에 정의한다.class 클래스이름(속성) {}예시로 Car 클래스를 정의해보겠다.class Car(val engine:String, val tire:String){}위와 같은 형식을 사용하면 Car 클래스의 속성도 자동으로 생성하고 초기화해 준다.Car 클래스의 객체를 생성할 때 engine과 tire 즉, Car 클래스의 속성을 초기화 시켜줄 수 있다.사실 위의 예제 코드에서 constructor 키워드가 생략되었다.class Car constructor(va..
함수)코틀린에서 함수를 선언하는 법은 fun 키워드를 사용해서 선언하면 됩니다.fun 함수명(인수1 : 타입, 인수2 : 타입, 인수3 : 타입, ......) : 리턴 타입코틀린에서 함수는 코틀린 파일에 바로 정의할 수 있으며 클래스의 멤버나 다른 함수 내부에도 정의할 수 있다. 자바는 클래스 내부에서만 정의하게 되어있다.간단한 함수 선언 예제를 보자.fun function(a:Int,b:Int) : Int { return a+b}Colored by Color Scripterfunction은 함수의 이름이며 a, b는 함수의 매개변수다. 이 함수의 반환형은 Int 타입으로 선언되었다.좀 더 간단하게 변경하면fun function(a:Int,b:Int) = a+b코틀린 함수도 리턴 타입을 추론할 ..
스마트 캐스트)스마트 캐스트는 코틀린 컴파일러가 똑똑하게 자동으로 변환해주는 기능이다.명시적 타입 변환할 때 사용하는 as와 as?를 사용한다.(as, as? 연산자) https://bbaktaeho-95.tistory.com/21 스마트 캐스트는 두 가지 경우에 자동으로 수행되는데 첫 번째로 변수의 값이 null 인지 확인할 때 두 번째로 is, !is 연산자로 변수 타입을 확인할 때 자동으로 수행된다.먼저 null 인지 확인하는 예제를 보자.fun main() { val name : String? = "임태호" if (name != null) println(name.length)}Colored by Color Scripter실행 결과는3변수 name은 null이 가능한 String 타입이다. 하지만..
자바에서 런타임 시 발생할 수 있는 NullPointerExeption을 코틀린에서 런타임이 아닌 컴파일 시점에서 미리 방지할 수 있게 했다.여기서 NullPoiinterExeption은 객체를 참조하는 변숫값이 null이라서 해당 객체의 메서드를 호출하거나 데이터를 참조할 수 없을 때 발생하는 예외이다. 쉽게 말해 빈 저금통에 동전을 찾는 느낌..?null 타입)널이 가능한 타입이다. 모든 타입 이름 끝에 ? 을 붙이면 된다.예를 들어 val a : Int? = null 코드를 보면 변수 a가 Int 타입으로 보이지만 ? 때문에 null이 가능한 Int 타입이라고 할 수 있다.다른 코드를 보자.123456789fun main() { var a : Int = 10 a = null //에러 var b ..
break와 continue 문은 루프의 실행을 제어할 때 사용하며 특히 여려 개의 루프가 중복되어 있을 때 유용하게 사용할 수 있다.break, continue)break나 continue 문을 라벨과 함께 사용하면 중복된 로프 중에서 라벨이 지정된 루프를 빠져나가거나 라벨이 지정된 루프의 그다음 반복을 계속 실행할 수 있다.간단한 예제를 보자.12345678910111213fun main(args: Array) { for (i in 0..9){ if (i == 4) break print(i) } println() for (i in 0..9){ if (i == 4) continue print(i) }}cs실행 결과는120123012356789cs첫 번째 반복문을 보면 i가 4일 때 루프를 빠져나온다..
for)코틀린에서 for 루프는 in 연산자를 사용하여 처리한다.먼저 코틀린 배열을 모르시는 분은 https://bbaktaeho-95.tistory.com/6 참고하시면 된다.간단한 예제를 보자. 1234fun main(args: Array){ val arr = arrayOf(1,2,3) for(item in arr) println(item) //item은 프로그래머가 선언한 것으로 카운터라고 한다.}Colored by Color Scriptercs 123123csInt 타입 배열 arr 를 선언하고 1,2,3 순으로 초기화하고 for 루프로 첫 번째 요소부터 마지막 요소까지 item이 받아와서 출력했다. 마지막 요소가 출력되면 for문은 더 이상 반복할게 없어서 종료한다.이때 루프의 반복 실행과 a..