val은 immutable variable이고 var는 mutable variable이다. 즉 값을 초기화할 수 있지만 수정할 수 없다는 것이다.변수에 값을 정하면 코틀린이 그 변수의 타입을 추론한다.즉, 타입 선언할 필요가 없다.var a = “Kotlin”이라하면
$+변수명: 문자열과 변수를 합칠 때, + 연산자 대신 하나의 문자열 안에 $+변수명를 붙여 표시한다.ex) print(”문자열”+$a)${변수명.함수}: 만약 String 변수의 함수를 사용하고 싶을 때는 ${변수명.함수}로 하나의 구문으로 인식하게 표현한다.ex)
\+, -, \*, /, %Java와 역할은 같다./를 연산하면 부동 소수점은 잘려나간다.(int) / (int) = (int)(int) / (int) = (double)이면 소수점이 잘리고→ (int)(int) / (double) = (double)==, !=, &l
Java와 같다단순화실행문을 중괄호로 감싸지 않고 단순화를 시킬 수 있다. 하지만 마지막 “Hello”가 출력되는 것처럼 한 줄만 실행문으로 인식한다. 즉 단순화 시킨 if문에 실행문은 한 줄만 들어가게 된다.
switch문을 대체한 것이다.switch의 break가 필요가 없다.조건 → 실행문조건 → { 실행문1, 실행문2 ... }in 범위시작..범위끝 → 실행문 : in으로 시작하고 범위 사이에 ..을 붙이면 범위지정하여 실행한다in 범위시작 downTo 범위끝 → 실행
Java와 같다.ex)Java와 같다.ex)for (변수 in 시작..끝 ) : 변수(선언 없이)를 시작부터 끝까지 출력한다.for (변수 in 시작 until 끝 ) : 변수(선언 없이)를 시작부터 (끝-1)까지 출력한다.for (변수 in 시작 downTo 끝 )
Java와 일치하므로 추후 상이한 부분이 있으면 추가할 예정.Java와 같음.Java와 같음.
Java에서의 메소드라고 할 수 있다.Java와 순서는 다르지만 매개 변수와 리턴 타입을 넣는 것, 호출하는 것은 비슷하다.exfun 함수명(변수:타입, 변수: 타입 ... ) : 리턴타입 { return 리턴값 } :변수 : 타입 형식으로 parameter를 넣어준다
####- Java를 공부하고 Kotlin을 습득하는 입장에서 과정은 쉬울 것 같아 보인다. 하지만 문법이나 개념 같은 경우는 비슷하다고 넘겨 짚는 행위는 굉장히 주의해야 된다고 생각한다. 그래서 Java와 Kotlin의 차이점들을 아는 것은 중요하다고 느끼기 때문에, 이후 Kotlin에서는 Java와 다른 차이점만을 기록하려고 한다. 더불어 동일한 문법이...
null 값을 가질 수 있다.kotlin에서 null 값을 넣을 수 없는 변수에 null 값을 넣으려 할 때, 컴파일러에서 null pointer exception을 던진다.ex)var 변수 : Type? = null : type 뒤에 ?를 붙여줌으로 nullable이
변수 ?: 기본값 : 변수의 값이 null이면 뒤의 기본값을 값으로 넣게 된다.nullable type이 null 값이면 Null Pointer Exception이 발생된다.변수!!.메서드 : !!를 변수 뒤에 붙여준다.nullable을 체인으로 엮어서 만들 수 있는데
자동자가 있다면 property속성은 이렇다자동차를 만드려면 청사진이 필요한데 class가 그 역할을 하는 것이다.그 청사진을 가지고 각각 다른 자동차를 만들 수 있을 것이다. 속도가 느린 차와 빠른 차, 색깔이 파란색과 빨란색, 창문이 2개인 차와 4개인 차 등등.
변수를 선언하고 나서 나중에 값을 넣으려 할 때 null로 넣어 놓는 경우가 있다. 하지만 나중엔 꼭 값을 넣어야 되지만 실수로 잊어버리면 error가 날 것이다.lateinit는 그걸 방지해준다. 즉 선언은 하지만 나중에 꼭 초기화를 할 거라고 알려준다. 그러지 않으
백준을 풀다가 정렬 문제가 나올 때 Comparable과 Comparator를 활용하는 것을 많이 볼 수 있다. 그렇다면 둘의 차이점은 뭘까? 간단하게 이야기하면 두 가지 모두 객체를 비교할 때 사용한다는 것이 공통점이다. 창이점은 Comparable은 객체 스스로가
data 키워드를 사용하여 객체를 생성한다.이때 생성자의 매개변수는 최소 한 개가 있어야한다.data class는 abstract, open, inner, sealed class일 수 없다class 앞에 data 키워드를 붙인다.copy()를 이용해서 객체를 복사한
Java에서의 상속 개념과 같다. 하지만 코딩 방식과 override 등등 다른 부분이 있어 적어둔다.Kotlin에서의 상속은 Java와 달리 처음부터 막혀있다. 어떻게 보면 final이랑 같아보인다. 상속을 하려는 class는 open으로 열어줘야 한다. metho
배열과 배열을 합치거나 중복된 값만 선별하고 싶을 때 쓰는 것이 set operator에 있는 union, subtract, intersect이다. 모두 set으로 반환을 하며, set의 특징인 중복된 값이 없다는 것을 생각하면 쉽게 이해할 수 있다.두 배열에서의 중복
어떤 데이터를 Map으로 만들어 key,value로 묶어줄 수 있다.key값은 중복되지 않으므로 만약 중복된 key값이 들어오게 되면 마지막으로 들어온 값이 map에 추가된다.Pair의 형태로 key와 value를 만든다.파라미터에 (key,value)를 넣어 만든다.