들어가기 전에
본격적으로 첫 번째 프로젝트를 이해해 볼까요? 앞으로 실습을 진행하면서 여러 번 프로젝트를 생성하기 때문에 이 내용을 잘 익혀둡니다.
핵심 키워드
- 진입점
- 함수 fun 키워드
- 바이트코드
학습하기
들어가기 전에
본격적으로 첫 번째 프로젝트를 이해해 볼까요? 앞으로 실습을 진행하면서 여러 번 프로젝트를 생성하기 때문에 이 내용을 잘 익혀둡니다.
핵심 키워드
학습하기
도구 창의 단축키: 윈도우(맥)
코틀린의 main()은 최상위 함수로 실행 진입점이다
코틀린에서 main()함수는 실행 진입점입니다. 자바와 같은 객체 지향 언어에서는 프로그램을 실행하려면 최소한 하나의 클래스와 그 안에 실행할 수 있는main()함수가 있어야 합니다. 하지만 코틀린은 선언된 클래스가 없는데도 불구하고 main()메서드 하나로 println()함수를 통해 콘솔에 문자열 "Hello Kotlin"을 출력 하고 있습니다.
실제로 코틀린 코드는 JVM상에서 실행하기 위해서main 메서드는 파일명을 기준으로 자동으로 클래스가 생성됩니다. 만들어진 파일은 IntelliJ IDEA의 메뉴에 [Tools → Kotlin → Show Kotlin Bytecode]를 누른 후 생성된 화면에서 [Decompile]을 사용해서 어떤 형태로 소스가 해석 되었는지를 확인해 볼 수 있습니다.
// Decompile된 소스
public final class HelloKotlinKt {
public static final void main() {
String var0 = "Hello Kotlin!";
System.out.println(var0);
}
// $FF: synthetic method
public static void main(String[] var0) {
main();
}
}
생성된 소스에서 main() 메서드를 보면 HelloKotlinKt클래스 안에 속한 멤버 메서드로 선언되어 있는 것을 알 수 있습니다. 이것은 자바 가상 머신인 JVM에 실행되기 위해, 문자열은 String var1으로 선언되어 System.out.println()에 의해 콘솔 장치에 출력 되는 것이죠.
main()에서 매개변수를 사용할 경우
main()에서 매개변수 args: Array<String>를 사용할 경우 자바의 String[] args로 변환됩니다. 이 args는 main()에 전달할 외부의 인수들을 가리키게 되고, 명령행으로부터 입력 받은 값들이 차례로 배열에 들어가게 됩니다.
참고 자료
https://d2.naver.com
http://www.yes24.com
comment
-
궁금 Poll: 내가 사용하는 코딩용 폰트는 무엇인지 알려주세요.
공지 간소화원리부터 차근히 알려주셔서 너무나 좋습니다.
감사합니다!
재미있습니다.
확실히 자바 코드랑 비교해보니까 코틀린이 가독성이 더 좋고 ㅈ간결하네요
덕분에 D2Coding 이라는 좋은 폰트 배웠습니다
jetbrains mono
계속 기본 클래스를 못찾겠다고 나옵니다.
src 폴더를 root sorce로 인식을 시켰는데도 해결이 안되네요 ㅜㅜ
감사합니다
c와 다르게 인자가 실행파일명은 포함하지 않고 있군요
완료
비공개 글입니다.
완료
동영상에 자막 기능을 넣어주세요 ㅜㅜ
일단은 프로그램 기본 사용하는데 그 폰트가 한글 깨지고 가독성 떨어지고 하면 d2cording으로 바꿉니다. 코틀린은 안드로이드 스튜디오에서 제공하는 기본으로 사용하고요
개인적으로 사용하는 폰트는 Fira Code medium 입니다. 흑색화면에서 사용중인데 눈이 나빠도 보기가 좋습니다.
폰트크기는 12.0
수강완료가 안되네요
cascadia-code