[AndroidStudio] 코틀린 main()함수 코드 작성 및 실행하는 방법 : 코틀린 장점
안드로이드 스튜디오를 열고 프로젝트를 하나 생성한다. 액티비티는 아무것도 선택하지 않고 빈 프로젝트로 생성한다.
아무것도 없고 패키지명만 출력되는 클래스가 생성이 된다. 코딩창(편집 화면)에서 main를 타이핑 후 tab키를 누르면 자동으로 main 메소드(함수)를 만들어 준다. 자동 템플릿 완성기능이라고 한다. main뒤에 a가 붙은 것은 main()함수에서 매개변수를 받아서 처리할 때 사용가능하다.
fun main()함수는 자바에서 클래스를 실행하기위해 사용하던 public static void main(String[] var0){ } 메소드와 동일하다가 보면 된다.
package study.example fun main() { println("Hello Kotlin!!") }
[실행 방법]
alt + shift + F10 의 단축키를 누르거나 상단 Run메뉴를 선택 후 Run…를 선택한다.
아래와 같은 클래스 선택이 팝업메뉴가 나타난다. 여기서 내가 좀 전에 작성한 StudyClass.kt를 선택하면 실행된다.
정상적으로 실행이 되면 화면 하단에 아래와 같은 창을 볼 수 있다.
class가 없는데 main 메서드 하나로 println을 콘솔에 실행하고 있다.
실제로는 main 메서드는 파일명을 기준으로 자동으로 클래스가 생성된다.
Tools > Kotlin > Show Kotlin Bytecode 에서 Decompile을 해본다.
다음으로 매개변수를 사용하여 main()함수를 실행해보자.
매개변수를 전달하지 않았음으로 오류가 발생한다. 상단 Run메뉴를 선택 후 Edit Configurations…를 선택한다.
Run/Debug configurations 팝업창이 호출 되며, Program arguments:에서 전달할 인자(파라미터 값)를 지정한다.
인자간 구분자는 한 칸 띄움이다.
실행단축키 alt + shift + f10를 눌러서 실행해보자. 첫번째와 두번째 인자가 정상적으로 전달되어 출력되었다.
코틀린 공식 사이트에서 제공하는 플레이그라운드(Playgroud)에서도 코드 실행이 가능하다.
■main()은 최상위 함수로 실행 진입점이다.
- 자바와 같은 객체 지향 언어는 프로그램을 실행하기 위해 클래스와 그 안에 main( )필요
- 코틀린은 클래스 없이 main( )함수 하나로 실행 가능
■코틀린 장점
- 자료형에 대한 오류를 미리 잡을 수 있는 정적 언어
- 널 포인터로 인한 프로그램의 중단을 예방할 수 있다. 보통 개발자들은 코틀린의 이런 특징을 ‘NPE에서 자유롭다’라고 한다. NPE는 Null Pointer Exception을 줄여 말한 것
- 아주 간결하고 효율적
- 함수형 프로그래밍과 객체 지향 프로그래밍이 모두 가능
- 세미콜론을 생략할 수 있다.
[참고 문헌]
Do it! 코틀린 프로그래밍 [황영덕 저 | 이지스퍼블리싱]