<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
		<id>https://tcatmon.com/w/index.php?action=history&amp;feed=atom&amp;title=%EC%BD%94%ED%8B%80%EB%A6%B0</id>
		<title>코틀린 - 편집 역사</title>
		<link rel="self" type="application/atom+xml" href="https://tcatmon.com/w/index.php?action=history&amp;feed=atom&amp;title=%EC%BD%94%ED%8B%80%EB%A6%B0"/>
		<link rel="alternate" type="text/html" href="https://tcatmon.com/w/index.php?title=%EC%BD%94%ED%8B%80%EB%A6%B0&amp;action=history"/>
		<updated>2026-07-25T11:29:54Z</updated>
		<subtitle>이 문서의 편집 역사</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>https://tcatmon.com/w/index.php?title=%EC%BD%94%ED%8B%80%EB%A6%B0&amp;diff=427560&amp;oldid=prev</id>
		<title>2017년 2월 4일 (토) 18:14에 Maintenance script님의 편집</title>
		<link rel="alternate" type="text/html" href="https://tcatmon.com/w/index.php?title=%EC%BD%94%ED%8B%80%EB%A6%B0&amp;diff=427560&amp;oldid=prev"/>
				<updated>2017-02-04T18:14:14Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[include(틀:프로젝트 문서,프로젝트=나무위키 컴퓨터 프로젝트)]&lt;br /&gt;
https://kotlinlang.org/assets/images/open-graph/kotlin_250x250.png?width=25%&lt;br /&gt;
[* 정식 1.0 버전의 출시와 함께 바뀐 로고이다. 이전 로고는 알아서 찾아보길.]&lt;br /&gt;
{{{#!html &amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;package&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #0e84b5; font-weight: bold&amp;quot;&amp;gt;hello&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;fun&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #0066BB; font-weight: bold&amp;quot;&amp;gt;main&amp;lt;/span&amp;gt;(args: Array&amp;lt;String&amp;gt;) {&lt;br /&gt;
   println(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;Hello World!&amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
[[http://kotlinlang.org/|공식 사이트]]&lt;br /&gt;
[목차]&lt;br /&gt;
== 개요 ==&lt;br /&gt;
JetBrains에서 개발한 언어이다. 간결한 문법을 가지고 있으며, 세미콜론이 옵션이다. JVM 기반의 언어이며, Java간의 상호 운용이 100% 지원된다.[* JetBrain 홈페이지의 내용] '''안드로이드''', Tomcat[* JVM 환경에서도 돌아간다.] , '''자바스크립트''', Java EE, HTML 5 등을 개발할때 사용할 수 있다고 한다. 현재 공식 1.0.3 버전이 나와 있다.&lt;br /&gt;
== 특징 ==&lt;br /&gt;
 * 장황했던 자바와 비교하면 눈물날 정도로 간결한 문법을 제공한다. 간결한 문법을 제공하면서도 런타임 오버헤드가 거의 없다.&lt;br /&gt;
 * 오버헤드 없는 널 안전성을 제공한다. 코틀린의 변수는 Nullable(널 값 사용 가능)과 NotNull(널 값 사용 불가)로 나뉘는데, 변수 선언 시 '?'를 붙여 Nullable로 만들 수 있다.&lt;br /&gt;
 * 예외를 검사하지 않는다.&lt;br /&gt;
 * 확장함수, 연산자 오버로딩을 지원한다.&lt;br /&gt;
 예를 들어 Int형을 확장해 'i = 3 power 4' 식으로 새 연산자를 만들 수 있다.[* 실제로는 새 infix 함수를 생성하는 것으로 작동한다. 사칙연산 또한 infix 함수로 구현되어 'a * 3'으로도, 'a.times(3)'으로도 쓸 수 있다. 연산자와 연산자 오버로딩도 요 infix 힘수로 돌아간다.]&lt;br /&gt;
 * API 문서에 자바의 HTML대신 Markdown을 사용한다.&lt;br /&gt;
 * == 연산자가 생각하는 대로 작동한다.&lt;br /&gt;
 자바에서는 String i와 String j가 같은 문자열을 담고 있어도 가리키는 객체가 다르므로 i == j는 false이다. 코틀린에서 ==는 equals()와 똑같이 작동한다. 따라서 i == j는 true다. 자바의 ==를 쓰려면 ===를 쓰면 된다. !=는 !==&lt;br /&gt;
 * Static 메서드가 없다. companion object를 사용하자. 자바 코드에서 접근하려면 '클래스명.Companion.메서드_혹은_get변수명()'을 쓰면 된다.&lt;br /&gt;
 * 자바6에 호환된다.&lt;br /&gt;
 * '''자바와의 상호 운용이 100% 지원된다.'''&lt;br /&gt;
=== 간결한 문법 ===&lt;br /&gt;
 * 클래스의 getters, setters, equals(), hashCode(), toString() 과 copy()를 '''한 줄로''' 선언할 수 있다!&lt;br /&gt;
{{{#!html &amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;data &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;class&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #0066BB; font-weight: bold&amp;quot;&amp;gt;Customer&amp;lt;/span&amp;gt;(&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; name: String, &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; email: String, &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; company: String)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
 * 람다 식을 지원한다.&lt;br /&gt;
 * 싱글톤 방식의 객체를 object로 만들 수 있다.&lt;br /&gt;
{{{#!html &amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;object ThisIsASingleton {&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; companyName: String = &amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;JetBrains&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
 * in과 Range문이 있다.&lt;br /&gt;
{{{#!html &amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; (i &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;in&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;1.&amp;lt;/span&amp;gt;.&amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;10&amp;lt;/span&amp;gt;) { &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// equivalent of 1 &amp;lt;= i &amp;amp;&amp;amp; i &amp;lt;= 10&amp;lt;/span&amp;gt;&lt;br /&gt;
  println(i)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
  * for문에도 쓸 수 있다!&lt;br /&gt;
{{{#!html&lt;br /&gt;
&amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;for&amp;lt;/span&amp;gt; (i &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;in&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;0.&amp;lt;/span&amp;gt;.&amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt; step &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;3&amp;lt;/span&amp;gt;) print(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;amp;quot;$i &amp;amp;quot;&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// 0 3 6 9 12 출력&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;for&amp;lt;/span&amp;gt; (i &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;in&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt; downTo &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; step &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;) print(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;amp;quot;$i &amp;amp;quot;&amp;lt;/span&amp;gt;) &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// 12 10 8 6 4 2 0 출력&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
 * switch/case가 when -&amp;gt;으로 대체되었다. 위의 in과 Range도 쓸 수 있다.&lt;br /&gt;
{{{#!html&lt;br /&gt;
&amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;when&amp;lt;/span&amp;gt; (x) {&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; -&amp;amp;gt; print(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;amp;quot;boolean&amp;amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt; -&amp;amp;gt; print(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;amp;quot;콩\n콩&amp;amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
  !&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;in&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;1.&amp;lt;/span&amp;gt;.&amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;9&amp;lt;/span&amp;gt; step &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt; -&amp;amp;gt; print(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;amp;quot;홀수 아님&amp;amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;in&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;0.&amp;lt;/span&amp;gt;.&amp;lt;span style=&amp;quot;color: #6600EE; font-weight: bold&amp;quot;&amp;gt;9&amp;lt;/span&amp;gt; -&amp;amp;gt; print(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;amp;quot;한자릿수&amp;amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; -&amp;amp;gt; print(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;amp;quot;otherwise&amp;amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
 * is 연산자가 있다. 타입 체크, 자동 형변환 등이 가능하다.&lt;br /&gt;
{{{#!html&lt;br /&gt;
&amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;npcContainer.forEach { npc -&amp;amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; (npc &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;is&amp;lt;/span&amp;gt; Visible) npc.drawBody(gc, g) &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// npc가 Visible형으로 자동 변환되었다.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; (npc &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;is&amp;lt;/span&amp;gt; Glowing) npc.drawGlow(gc, g) &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// npc가 Glowing형으로 자동 변환되었다.&amp;lt;/span&amp;gt;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
  * when문에도 쓸 수 있다.&lt;br /&gt;
{{{#!html&lt;br /&gt;
&amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;when&amp;lt;/span&amp;gt; (expr) {&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;is&amp;lt;/span&amp;gt; Num -&amp;amp;gt; expr.value &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// expr이 Num형으로 자동 변환되었다.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;is&amp;lt;/span&amp;gt; Sum -&amp;amp;gt; eval(expr.left) + eval(expr.right) &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// expr이 Sum형으로 자동 변환되었다.&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; -&amp;amp;gt; &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;throw&amp;lt;/span&amp;gt; IllegalArgumentException(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;amp;quot;퉤에엣&amp;amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
 * 변수 선언시 값에 if문을 사용할 수 있다.&lt;br /&gt;
{{{#!html &amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; max = &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;if&amp;lt;/span&amp;gt; (a &amp;gt; b) { &lt;br /&gt;
    print(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;Choose a&amp;quot;&amp;lt;/span&amp;gt;) &lt;br /&gt;
    a &lt;br /&gt;
  } &lt;br /&gt;
  &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;else&amp;lt;/span&amp;gt; { &lt;br /&gt;
    print(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;Choose b&amp;quot;&amp;lt;/span&amp;gt;) &lt;br /&gt;
    b &lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
=== 안전성 ===&lt;br /&gt;
 * Null 객체를 호출하는 경우를 알아서 보호해준다 한다. 자바에서 가져온 클래스 등도 가능하다.&lt;br /&gt;
 * 변수명?를 사용하는 경우 변수 안의 메소드 (ex. length)를 실행할때 변수가 null이면 null을 반환한다.&lt;br /&gt;
{{{#!html &amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;b?.length() &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;//b가 null이면 null 리턴&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
 * 오류 방지로 null-safe 연산자를 쓸 수 있다. (ex. s as String?)&lt;br /&gt;
 * 안전한 형변환 키워드인 as? 가 존재한다. (ex. s as? String)&lt;br /&gt;
=== 그 외 ===&lt;br /&gt;
 * new 키워드는 선택이다.&lt;br /&gt;
 * ;가 필요없다.&lt;br /&gt;
 * System.out.println/printf등이 println/printf 등으로 줄었다.&lt;br /&gt;
 * String에서 변수의 값을 쉽게 표현할 수 있는 interpolation($)을 지원한다.&lt;br /&gt;
{{{#!html&lt;br /&gt;
&amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; name: String = &amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;Wikineet&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; greet_en: String = &amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;Hello, $name!&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; greet_ko: String = &amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;${name}님 안녕하세요!&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
println(greet_en) &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// 출력: Hello, Wikineet!&amp;lt;/span&amp;gt;&lt;br /&gt;
println(greet_ko) &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// 출력: Wikineet님 안녕하세요!&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
 * Nullable이 아닌 변수에서 null 사용시 오류를 뱉어낸다.&lt;br /&gt;
{{{#!html &amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;var a: String &amp;lt;span style=&amp;quot;color: #333333&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;abc&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
a &amp;lt;span style=&amp;quot;color: #333333&amp;quot;&amp;gt;=&amp;lt;/span&amp;gt; null &amp;lt;span style=&amp;quot;color: #333333&amp;quot;&amp;gt;//&amp;lt;/span&amp;gt; 컴파일 에러&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
  * ?을 사용해 Nullable로 만들어주면 쓸 수 있다.&lt;br /&gt;
{{{#!html &amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;var&amp;lt;/span&amp;gt; b: String? = &amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;abc&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
b = &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;null&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// ok&amp;lt;/span&amp;gt;&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
  * Elvis 연산자(?:)가 존재한다.&lt;br /&gt;
{{{#!html&lt;br /&gt;
&amp;lt;!-- HTML generated using hilite.me --&amp;gt;&amp;lt;div style=&amp;quot;background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;&amp;quot;&amp;gt;&amp;lt;pre style=&amp;quot;margin: 0; line-height: 125%&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; testee_hometown: String? = &amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;null&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// 여기에 적절한 값을 넣으면 '&amp;lt;피실험자 고향 지명&amp;gt;' 대신 넣은 값이 표시된다.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #008800; font-weight: bold&amp;quot;&amp;gt;val&amp;lt;/span&amp;gt; hometown_display = testee_hometown ?: &amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;&amp;lt;피실험자 고향 지명&amp;gt;&amp;quot;&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color: #888888&amp;quot;&amp;gt;// testee_hometown이 null인지 검사한다. null이면 연산자의 우변에 있는 값이 대신 대입된다.&amp;lt;/span&amp;gt;&lt;br /&gt;
println(&amp;lt;span style=&amp;quot;background-color: #fff0f0&amp;quot;&amp;gt;&amp;quot;이 장치는 ${hometown_display}에 사는 모든 사람의 신체 장기 가격과 소득 금액을 합친 것보다 더 비쌉니다.&amp;quot;&amp;lt;/span&amp;gt;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
}}}&lt;br /&gt;
&lt;br /&gt;
== 기타 ==&lt;br /&gt;
 * 간결한 언어라는 명성에 무색하게 다차원 배열의 선언은 전혀 간결하지 않다. 언어 개발자들도 이를 인지하고 있으며[* [[http://stackoverflow.com/questions/27512636/two-dimensional-int-array-in-kotlin]]], 추후에 수정될 듯하다.&lt;br /&gt;
&lt;br /&gt;
== 바깥 링크 ==&lt;br /&gt;
 * [[https://kotlinlang.org/docs/reference/|레퍼런스 가이드]]&lt;br /&gt;
 * [[http://try.kotlinlang.org/|써보기]]&lt;br /&gt;
 * [[http://try.kotlinlang.org/koans|배워보기]]&lt;br /&gt;
&lt;br /&gt;
[[분류:객체 지향 언어]]&lt;br /&gt;
[[분류:프로그래밍 언어]]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>	</entry>

	</feed>