목록2021/11 (11)
낭만 프로그래머
함수 1. 함수 선언 fun 함수명(매개변수명: 타입): 반환타입 { ... } 2. 반환 값이 없는 함수 fun test(arg1: Int, arg2: Int) { println("hello") } fun test2(arg1: Int, arg2: Int): Unit { println("hello") } 3. 반환 값이 있는 함수 fun test(arg1: Int, arg2: Int): Int { return arg1+arg2 } 4. 매개변수를 초기화 하여 입력 값을 생략 할 수도 있다 fun test(arg1: Int, arg2: Int = 1004): Int { return arg1+arg2 } /* 사용 */ test(1) // 두번째 매개변수로 1004가 초기값으로 들어감 test(1, 1002..
변수 1. 자바에서는 변수를 선언하는 키워드가 기본적으로 없으나 코틀린에서는 var, val 을 사용한다 이중에서 val은 상수를 의미하여 초기값 할당 후에는 변경할 수 없다. 자바의 final을 사용하는 것과 같다. 또한 타입이 추론 가능시에는 타입을 생략해도 된다. var(또는 val) 변수명: 타입 = 값 2. 자바와 다르게 코틀린은 최상위 또는 클래스의 멤버변수는 선언과 동시에 초기화 해야 한다. 만일 원시타입이 아닌 경우 명시적으로 초기화를 나중에 하기 위해서는 lateinit 키워드를 사용할 수도 있다. var stringValue: String = "1004" // 정상 lateinit var stringValue: String // 정상 var stringValue: String // 오류..
기본구조 1. 자바에서는 기본적으로 Class 내부에 변수 또는 함수 넣는 것을 기본으로 하지만 코틀린은 변수와 Class가 꼭 내부에 있지는 않다. 파일이름을 Test.kt로 했을 경우 컴파일시에 자바클래스로 코틀린은 Test.class 와 TestKt.class가 만들어 진다. /* Test.kt 파일 */ // TestKt.class로 컴파일 var testValue: String = "Test" fun testPrint(testValue: String) { println(testValue) } // Test.class로 컴파일 class Test { var classTestValue : String = "Class Test" fun classTestPrint(classTestValue: Strin..