변수 - 데이터를 저장하고 사용하는 기본 단위 변수자료형 - 그 변수의 형태를 지정하는 자료형클래스 이름은 파스칼 표기법(모든 단어를 대문자로 시작)ClassName함수나 변수 이름은 카멜 표기법(첫 단어만 소문자로 시작)functionNamevar - 일반적으로 통용
to 변환자료형 기본자료형: 자료형 간의 형변환을 지원하기 위해 형변환 함수 제공 toByte() toShort toInt() toLong() toFloat() toDouble() toChar() 명시적 형변환(explicit type casting) 변환될 자료형을
(switch문을 좀 더 편리하게 바꾼 기능)등호나 부등호의 사용은 불가능하다.When 조건에 맞는 동작을 하는 조건문동작 대신 값을 반환하는 표현식으로서의 조건문
whiledo whilefor
코틀린은 객체지향 언어를 기반으로 함수형 언어의 장점을 흡수한 실용적인 언어이다.객체지향의 기본구조가 되는 클래스!클래스: 인스턴스를 만드는 틀인스턴스: 클래스를 이용해서 만들어내는 서로 다른 속성의 객체를 지칭하는 용어자주 사용하는 공통적인 기능은 클래스 내에 함수로
class Person(var name:String, var birth:Int): 새로운 인스턴스를 만들기 위해 호출하는 특수한 함수인스턴스의 속성 초기화와 동시에 인스턴스 생성시 구문을 수행(init)init 함수: 파라미터나 반환형이 없는 특수한 함수. 생성자를 통
클래스의 상속이 이뤄지는 경우이미 존재하는 클래스를 확장하여 새로운 속성이나 함수를 추가한 클래스를 만들 때여러 클래스의 공통점을 뽑아 코드관리를 편하게 해야할 때수퍼클래스 서브클래스open: 클래스가 상속될 수 있도록 클래스 선언시 붙여줄 수 있는 키워드수퍼클래스에
상속받은 서브클래스에서는 함수를 재구현 할 수 없다. 함수 앞에 open을 붙이면 override를 통해 재구현이 허용된다.수퍼클래스에서는 함수의 구체적인 구현은 없고 단지 Animal의 모든 서브클래스는 eat() 함수가 반드시 있어야한다는 점만 명시하여 각 서브클래
코틀린은 자바와 달리 폴더 구조와 패키지명을 일치시키지 않아도 된다.단순히 파일 상단에 패키지만 명시해주면 컴파일러
기존에 배웠던 class는 단지 인스턴스 객체를 만들기 위한 '틀'이기 때문에 내부에 있는 속성이나 함수를 사용하려면 생성자를 통해 실체가 되는 인스턴스 객체를 만들어야 했다. 여러개의 인스턴스 객체가 필요하지 않고, 단 하나의 객체만으로 공통적인 속성과 함수를 사용해
함수로 직접 요청하지 않았지만 시스템 또는 루틴에 의해서 발생하게 되는 동작들을 '이벤트'라고 부르며, 이벤트가 발생할 때마다 즉각적으로 처리할 수 있도록 만드는 프로그래밍 패턴두 개의 클래스 필요 -> 이벤트 수신, 이벤트의 발생 및 전달인터페이스만 알아도 이벤트를
다형성은 클래스의 상속관계에서 오는 인스턴스의 호환성을 적극 활용할 수 있는 기능으로 수퍼클래스가 같은 인스턴스를 한번에 관리하거나 인터페이스를 구현하여 사용하는 코드에서도 이용된다.상위 자료형인 수퍼클래스로 변환한다var a: Drink=Cola()Up-Casting
캐스팅 연산을 거치는 것은 프로그램 속도를 저하시키는 단점이 있다.함수나 클래스를 선언할 때 고정적인 자료형 대신 실제 자료형으로 대체되는 타입 파러미터를 받아 사용하는 방법이다. 타입 파라미터에 특정 자료형이 할당되면 제너릭이 사용되는 모든 코드는 할당된 자료형으로
리스트는 데이터를 모아 관리하는 collection class를 상속받아 사용하는 서브 클래스 중 가장 단순한 형태이다. 여러개의 데이터를 원하는 곳에 넣어 관리하는 형태List< out T > - 생성시에 넣은 객체를 대체, 추가, 삭제할 수 없음MutableL
lengthtoLowerCase()toUpperCase()split(".")\- split에 정규식이 아닌 일반 문자열을 넣어도 동작한다.joinToString()\- 그냥 합쳐짐joinToString("-")문자를 넣어 합쳐짐substring(5..10)\- 시작..
?. (null safe operator) 객체가 null이라면 뒤의 구문을 실행하지 않는 연산자 ?: (elvis operator) 객체가 null이 아니라면 그대로 사용하지만 null이라면 우측의 객체로 대체되는 연산자 !!. (non-null assertion o
같은 스코프 안에서 같은 이름의 함수를 여러개 만들 수 있는 기능 \-> 서로 다른 함수로 동작 됨 \-> 파라미터의 이름만 다르고 자료형과 개수가 같게 되면 오버로딩을 할 수 없음같은 자료형을 개수에 상관없이 패러미터로 받고 싶을 때 사용마치 연산자처럼 쓸 수 있다.