자바와 코틀린 차이 및 코틀린 특징
1. 메인 함수에서 fun main() 에서 바로 호출 가능
fun main(){
}
2. 타입 지정 방식
// 2. 함수
fun test(a: Int, b: Int=3) : Int {
println(a+b)
return a+b
}
- 자바 처럼 Int a 가 아니라 a: Int 이런 식이다.
- 자바에서 return 타입이 앞에 있는데 뒤에 => : Int 이런식으로 되고 없으면
자바의 void 처럼 빈형태가 기본적으로 return 된다.
3. { } 없이 = 으로 함수 구현가능
fun test2(name:String, nickname:String, id:String) = println(name+nickname+id)
//print(name + nickname + id)
fun time(a:Int,b:Int ,) = a*b
4. 상수는 val 로 표현 변수는 var 이고 변경 가능
// 상수 val , 변수 var
5. 코틀린에서 상속(open class , open val name : String) - 하기 참조
클래스에서 init이 가장 먼저 호출 되고 constructor이 두번째로 호출된다.
// 상속시에는 open class 해야함
open class User(open val name : String, open var age: Int =100)
// 상속받기
class Kid (override val name:String, override var age:Int) :User(name,age){
var gender :String ="male"
// 클래스에서 가장 먼저 호출
init{
println("초기화 중 입니다.")
}
// 클래스에서 두번째로 호출
constructor(name:String, age:Int, gender: String) : this(name, age){
this.gender=gender
println("부생성자 호출")
println(gender)
}
}
6. 조건문도 { } 없이 간단하게 표현 가능
switch 는 when 구문으로 변경(하기 참조)
// 조건식
fun main(){
max(10,3)
isHoliday("월")
}
// 함수에 void return이 기본
fun max(a:Int,b:Int){
// if를 변수로 받을수 있음
val result= if(a>b) a else b
println(result)
}
// 월 화 수 목 금 토 일
// any 로 해서 아무거나 받게 할 수 있음
fun isHoliday(dayOfWeek: Any){
var result = when(dayOfWeek){
"토" , // 중간에 if문 추가 가능
"일" -> if(dayOfWeek == "토") "ok" else "very good"
in 2..4 -> {}
in listOf("월","화")-> {}
else -> "no good"
}
println(result)
}
7. 반복문의 변경
- 향상된 for문을 쓴다.
- IntRange로 범위 지정이 가능하다.(하기 참조)
- until 로도 범위 지정이 가능하다.(하기 참조)
- step , downTo 를 써서 향상 숫자 변경이 가능하다
// 반복문
fun main(){
// IntRange(1,10) == 1..10 => 이두개는 같다
for(i in IntRange(1,10)){
print(i)
print(",")
}
println()
// until 은 10을 포함하지 않는다
for(i in 1 until 10){
print(i)
print(",")
}
println()
// step 으로 2씩 띄어갈수 있다.
for(i in 1..10 step(2)){
print(i)
print(",")
}
println()
// downTo로 1씩 작아지게 말들수있다
for(i in 10 downTo 1){
print(i)
print(",")
}
println()
// downTo까지의 step단계를 설정할수 있다.
for(i in 10 downTo 1 step(2)) {
print(i)
print(",")
}
println()
var c =0
while(c < 11){
print(c)
print(",")
c++
}
}
LIST
'4차산업혁명의 일꾼 > Java&Spring웹개발과 서버 컴퓨터' 카테고리의 다른 글
내 인생 처음이자 마지막 자바 & 객체지향 프로그래밍 정리 (0) | 2023.02.18 |
---|---|
자바와 코틀린 차이 및 특징 2 ( map, list , null타입, 타입체크 캐스팅, 따옴표 안에 변수 사용- "${}" 사용) (0) | 2023.02.05 |
[프로그래밍 언어론] 주요 용어 (0) | 2023.01.05 |
자료구조 (0) | 2023.01.05 |
C++ 프로그래밍 (0) | 2023.01.05 |