Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Кор барои хориҷиён
- Коркабулкунӣ барои хориҷиён
- အယ်လ်ဘာ
- Kotlin
- korea
- အလုပ်
- Spring boot
- Чати тарҷумаи худкор
- 스프링부트
- 계정삭제 요청
- 비바버튼
- မြန်မာ
- Кори нопурра дар Корея
- 빅데이터
- Ҷойҳо дар Корея
- Шуғ дар Корея
- Werwingtoepassing
- BigData
- Mobiele toepassing
- ကိုရီးယား
- နိုင်ငံခြားသား
- java
- Кор дар Корея
- Чои кор барои хоричиён
- Мобиль замима
- အလုပ်အကိုင်
- စကားစမြည်ပြောခြင်း
- Hello World
- Data Lake
- Job
Archives
- Today
- Total
VivaButton
코틀린(Kotlin) 기본 문법1(#4 - class, fun, println, var, val, String templates) 본문
IT/코틀린(Kotlin)
코틀린(Kotlin) 기본 문법1(#4 - class, fun, println, var, val, String templates)
비바버튼 2021. 3. 15. 11:15728x90
오늘은 코틀린 기본문법에 대해 알아보도록 하겠습니다.
예제 코드를 작성한 코틀린의 버전은 v1.4.31이며, 인텔리J로 코틀린 프로젝트를 생성하여 작성하였습니다.
1. 출력
fun main(args: Array<String>){ //출력 print("기본 출력!"); println("출력후 줄바꿈!"); println("인수 출력 : " + args.contentToString()) } |
main 펑션을 생성하고 출력. main 펑션을 클래스 내에 생성하지 않고, 클래스 외부에 생성합니다.
1. class
//클래스 정의 - 상속 받을 수 없음. class BasicSyntax //클래스의 속성은 선언 또는 본문에 나열 될 수 있다. class Rectangle(var height: Double, var length: Double){ var perimeter = (height + length) * 2 } //클래스를 상속 가능하게 하려면 open 을 붙인다. open class OpenClass(){ var two: Int = 2 } //클리스의 속성은 선언 또는 본문에 나열 될 수 있다. class OpenRectangle(var height: Double, var length: Double): OpenClass(){ var perimeter = (height + length) * two } fun main(args: Array<String>){ //클래스 변수 선언 println("직사각형의 둘레 : "+ Rectangle(5.0, 2.0).perimeter) //상속 클래스 println("상속 직사각형의 둘레 : "+ OpenRectangle(5.0, 2.0).perimeter) } |
코틀린에서는 자바와는 다르게 Class 생성 시 중괄호(braces, {})를 붙이지 않아도 문법 오류가 나지 않습니다.
2. function 생성
class BasicSyntax { //기본 function fun sum(a: Int, b: Int): Int{ return a + b } //더 간단한 function fun sumSimple(a : Int, b : Int) = a + b //return이 없는 function fun printSum(a: Int, b: Int): Unit{ println("BasicSyntax().printSum : sum of $a and $b is ${a + b}") } //return Unit 생략 fun printSumNoReturn(a: Int, b: Int){ println("BasicSyntax().printSumNoReturn : sum of $a and $b is ${a + b}") } } fun main(args: Array<String>){ //함수 println("BasicSyntax().sum(1,2) : " + BasicSyntax().sum(1,2)) println("BasicSyntax().sumSimple(1,2) : " + BasicSyntax().sumSimple(1,2)) BasicSyntax().printSum(1,2) BasicSyntax().printSumNoReturn(1,2) } |
function은 클래스 내부와 외부에 모두 생성 가능합니다.
3. 출력(print, println)
fun main(args: Array<String>){ //출력 print("기본 출력!"); println("출력후 줄바꿈!"); println("인수 출력 : " + args.contentToString()) } |
출력은 자바에서는 앞에 System.out. 이 붙던 것이 생략된다.
4. 주석
//주석 /* * 이것은 주석 */ /** * 이것도 주석 */ |
주석은 자바와 동일하게 작성됩니다.
5. 변수
class Variables(){ //val은 초기값 할당 후 값을 변경 할 수 없음. (java의 final 변수와 유사, ReadOnly) fun variableVal(){ val a: Int = 1 //즉시 할당 val b = 2 //변수 타입을 지정하지 않았지만, Int형이 유추됨 val c: Int //값을 초기화 하지 않는 경우 타입 필요. c = 3 //초기값 지연 할당 println("Variables.variableVal - a : ${a}, b : ${b}, c : ${c}") } //var는 재할당 할 수 있는 변수 fun valiableVar(){ var x = 5 x += 1 println("x : ${x}") } } fun main(args: Array<String>){ //변수 Variables().variableVal() Variables().valiableVar() } |
6. String templates
/** * 문자열 템플릿 * s1은 이미 a의 값이 담겨 있기 때문에 1 출력 * s2는 a의 값이 2로 변경되어 출력 */ fun printStringTemplate(){ var a = 1 val s1 = "a is $a" a = 2 val s2 = "${s1.replace("is", "was")}, but now is $a" println("s1 : $s1"); println("s2 : $s2"); } fun main(args: Array<String>){ //String 템플릿 printStringTemplate() } |
결과 출력 : |
s1 : a is 1 s2 : a was 1, but now is 2 |
오늘은 코틀린의 기본문법에 대해 간략하게 알아봤습니다.
아직까지는 코드 스타일에서 자바와의 차이는 코드가 간략하다? 정도로 느끼고 있네요.
그냥 자바스크립트 코드와 유사한 느낌입니다.
'IT > 코틀린(Kotlin)' 카테고리의 다른 글
코틀린(Kotlin) 기본 문법2(#5 - if-else, for, while, when, range, iterate, Collections) (0) | 2021.03.15 |
---|---|
인텔리J(IntelliJ) 코틀린(Kotlin) 프로젝트에서 Java 코드 실행(#3) (0) | 2021.03.12 |
인텔리J(IntelliJ) 코틀린(Kotlin) 프로젝트 생성과 Hello Kotlin 출력(#2) (3) | 2021.03.11 |
코틀린(Kotlin) 시작하기(#1) (0) | 2021.03.10 |