코틀린 기초
코틀린 기초
변수와 데이터 타입
연산자
조건문과 반복문
배열
함수(Function)
코틀린은 함수 프로그래밍과 객체지향 프로그래밍을 모두 지원하는 "다중 패러다임 언어"다.
고차 함수의 형태
camelcase, snake_case, PascalCase
for와 while의 차이점에 대해서 알아봄!
null(1)
null상태 검사 1 null상태 검사 2 기본 자료형 변환 to자료형() 코틀린에서는 명시적 함수를 사용하여 기본 자료형 간의 변환을 수행할 수 있다. 명시적 형변환 (Explicit Casting) as 키워드를 사용한다. 변환이 실패하면 ClassCastException이 발생할 수 있다. 안전한 형변환 (Safe Casting) as? 키...
OOP (Object-Oriented Progtamming) 컴퓨터 프로그래밍에서 객체란 데이터와 그 데이터를 다루는 동작을 함께 포함하는 것이다. 객체 지향 프로그래밍(OOP)은 이러한 객체들을 사용하여 프로그램을 만드는 방법을 설명한다. 절차적 프로그래밍의 한계를
데이터 클래스 (data class) 데이터 저장을 주 목적 자동생성되는 매서드 hashCode() 객체를 구분하기 위한 고유값을 리턴해줘 equals() 동일한 객체인지 비교해서 true 또는 false를 리턴해줘 copy() 현재 객체의 모든 정보를 복사해서 새로운 객체를 리턴해줘 toString() 현재 객체의 모든 정보(프로퍼티)를 예쁘게 출력해줘...
인스턴스 클래스를 기반으로 생성된 구체적인 객체를 의미한다. 클래스는 객체를 생성하기 위한 청사진(설계도)이라고 생각하면 된다. 클래스에는 속성(변수)과 메서드(함수)가 정의되어 있는데, 이 클래스를 이용해 실제로 메모리에 생성된 객체가 인스턴스다. 아래 예제로 더 쉽
클래스를 통해 객체가 만들어질 때 기본적으로 호출되는 함수객체 생성시 필요한 값을 인자로 설정할 수 있게 한다. 생성자를 위해 특별한 함수인 constructor()를 정의딱 한번만 위에서 정의될 수 있음클래스명과 함께 기술되며 보통의 경우 constructor 키워드
클래스 내부에서 하는 초기화는 값을 할당하기 위한 초기화, main에서 하는 초기화는 할당한 값으로 초기화주 생성자 혹은 부 생성자가 호출될 때, 클래스의 인스턴스가 초기화될 때 실행되는 초기화 블록이다. (생성과 동시에 실행되는 블록) (객체 생성과 비슷한 동작원리)
자식 클래스를 만들 때 상위 클래스의 속성과 기능을 물려받아 계승상위 클래스의 프로퍼티와 메서드가 자식에 적용됨하위 클래스에서 새로운 메서드를 추가하여 확장할 수 있다. BirdChildClasses.kt같은 이름을 사용하지만 구현 내용이 다르거나 매개변수가 달라서 하
상위 클래스는 super 키워드로 현재 클래스는 this 키워드로 참조가능이너 클래스에서 바깥 클래스의 상위 클래스를 호출하려면 super 키워드와 함께 엣(@) 기호 옆에 바깥 클래스명을 작성해 호출위의 코드에서 this@Outer.greetings()는 이너 클래스
return 함수에서 결괏값을 반환하거나 지정된 라벨로 이동break for나 while의 조건식에 상관없이 반복문을 끝냄continue for나 while의 반복문의 본문을 모두 수행하지 않고 조건으로 넘어감InlineLambdaReturn.ktif문에 조건 때문에
클래스를 작성할 때 외부에서 숨겨야 하는 속성이나 기능private 외부에서 접근할 수 없다, 클래스 내에서만 접근 가능하다. public 어디서든 접근이 가능하다. (기본값)protected 외부에서 접근할 수 없으나 하위 상속 요소에서는 가능 internal 같은
클래스에서는 기본적으로 선언하는 프로퍼티 자료형들은 null을 가질 수 없다. 객체의 정보가 나중에 나타나는 경우 나중에 초기화 할 수 있는 방법 필요지연 초기화를 위해 lateinit과 lazy 키워드 사용var로 선언된 프로퍼티만 가능프로퍼티에 대한 게터와 세터를
코틀린 기본 라이브러리는 기본 컬렉션 타입으로 아래 세개 제공List 순서를 통해 관리Map 이름을 통해 관리Set 집합 관리각 컬렉션 타입은 read-only / mutable 인터페이가 구현된 한 쌍으로 존재read-only 일기 전용mutable element
객체의 이름을 통해 관리하는 컬렉션{ } ←로 반환mapOf 불변형mutableMapOf 가변형컬렉션 인터페이스를 상속받지 않지만, 코틀린 컬렉션 타입이다. K : key, V : value 쌍으로 저장한다. key는 고유하지만 서로 다른 key가 동일한 value를
배열은 0부터 시작되는 인덱스 번호로 관리배열을 생성할 때는 arrayOf(값들) 함수를 이용한다. arrayOf는 다양한 값을 담을 수 있다. 담을 값의 자료형을 제한하고 싶다면 자료형arrayOf형태의 함수를 사용한다.arrayOf<제네릭타입>도 가능하다. S
베열을 크기가 정해지면 변경할 수 없지만, LIst는 추가, 삭제 등이 가능listOf 불변형 리스트 생성mutableListOf 가변형 리스트 생성 ()emptyList 비어있는 불변형 리스트를 생성listOfNotNull null을 제외한 나머지만으로 리스트를 생
소프트웨어를 개발하다 보면 클래스도 많고, .kt파일도 많다. → 파일이 많아지면 관리가 불편, 배포가 힘듦 → 특정 기준을 세워 파일을 폴더 별로 나누어 관리하면 파일 관리가 용이해짐. → 그것을 패키지라고 함. 패키지 내에 있는 파일들은 상단에 패키지를 명시해야 함