통합 개발 환경(IDE)는 편집기 역할 뿐만 아니라 코드를 컴파일, 빌드, 링킹하는 과정을 쉽게 해준다. 또한 테스트 및 디버깅 툴을 제공함으로써 코드 단위로 문제점을 분석할 수 있다.
IDE가 없다면 프로그램을 개발할 때 메모장에 코드를 작성하고 컴파일, 빌드 과정등도 명령 프롬프트로 동작시키는 번거로움이 있을 것이다.
코딩컨벤션은 가독성을 위해서 정한 코드 작성 표준이다.
컨벤션을 통해 모든 사람이 코드를 이해하기 쉬워진다.
파스칼 표기법: 모든 문자의 첫글자 대문자
클래스 이름에 사용
HelloWorld
카멜 표기법: 첫문자 첫글자 대문자, 이후 문자의 첫글자 대문자
변수, 함수 이름에 사용
helloWorld
스네이크 표기법: 문자들 언더바로 이어서 사용
변수, 함수, 데이터 타입에 사용
hello_world
자료형은 데이터의 속성으로 어떤 종류의 자료를 다루고 있는지 알려준다. 데이터가 정수, 실수, 문자 중 어떤 종류인지 메모리 크기는 얼마나 되는지가 자료형으로 구분이 된다.
코틀린에서 다루고 있는 자료형은 아래와 같다.
(1) 정수
Long: 64비트 정수
Int: 32비트 정수
Short: 16비트 정수
Byte: 8비트 정수
(2) 실수
Double: 64비트 실수
Float: 32비트 실수
(3) 논리
Boolean: true 또는 false
(4) 문자
Char: 1개 문자
(5) 문자열
String: 여러 개의 문자
Kotlin에서는 변수와 상수 종류를 var, val, const val 3가지로 구분을 하고 있다.
var: 가변변수. 변수의 읽기와 쓰기가 허용됨.
val: 불변변수. 변수의 읽기만 허용됨.
const val: 상수. 변하지 않는값.
val과 const val은 다음과 같은 차이점이 있다.
val은 런타임중에 값이 결정되므로 프로그램 수행에 따라 바뀔 수 있는 값이다.
const val은 컴파일시 값이 결정되므로 언제나 동일한 값을 가진다.
함수는 기능구현의 단위이며 아래와 같은 형태를 가진다.
fun 함수이름(변수이름: 변수타입): 리턴타입
{
return 리턴변수
}
함수 호출시 블럭내 코드를 수행하게 된다.
class 클래스이름
{
fun 함수이름(변수이름: 변수타입): 리턴타입
{
return 리턴변수
}
}
함수가 독립적으로 존재하는 것과 달리,
메소드는 클래스 안에 포함되어 있는 클래스함수이다.
클래스의 인스턴스가 생성되고난 후에 메소드를 호출하여 사용할 수 있다.
클래스는 변수와 함수의 모음이다.
클래스의 변수를 프로퍼티, 클래스 함수를 메소드라고 부른다.
클래스는 객체의 설계도라고 할 수 있다.
이를 바탕으로 실제로 구현된 실체를 인스턴스라고 한다.
실체화된 인스턴스는 메모리에 존재한다.