728x90
반응형

정말 오늘은 덥고 습하고 불쾌지수가 하늘을 찌를 정도 였다.


그래서 냉부해에 나왔던 김준현의 맥주 맛있게 먹는 법을 따라하기 위해서 샤워를 딱 하고 초밥집으로 향했다.


오늘 간 곳은 성신여대에 있는 스시토로!!


항상 지나다니면서 가봐야지 가봐야지 했었는데 오늘 드디어 가는구나!!


(비도 많이 오고 약간 부끄러움이 있어서 가게 외부랑 내부사진을 찍지 못했다...)


주방이 보이는 바에 앉아서 오늘의 초밥과 생맥주를 시켰다.



처음에 샐러드가 나왔는데 내 입맛엔 별로라서 잘 먹지는 않았다.


초밥 만드는 거를 구경하는 도중에 생맥주와 오늘의 초밥에 포함된 새우튀김, 우동이 나왔다.


일단 맥주 한모금을.. 크


드디어 오늘의 초밥이 나왔다.

구성은 연어, 광어, 계정생선, 메카, 빅아이, 초새우, 장새우, 소고기다.


사실 생선에 대해 잘 몰라서 계정생선, 메카, 빅아이는 뭔지 잘 모르고 먹었다..;;


연어는 정말 부드럽고 광어는 정말 담백고소했다. 최고!


이것은 서비스로 나온 구운생연어 초밥! 이것도 정말 맛있었다.


그 다음에 맥주가 1/3정도 남아서 황새치뱃살과 육회를 추가로 주문했다.

전복도 먹고싶었는데 오늘은 재료가 없다고 한다 ㅠㅠ


황새치뱃살은 처음 먹어봤는데 무슨 맛인지는 잘 몰랐다.

뭔가 부드럽고 고소한 그런 맛이었는데 말로 표현하기가 참..


육회는 나에게는 조금 짠 편이였다.




스시토로 메뉴



스시토로 위치

서울특별시 성북구 보문로30길 84 1층


네이버 지도로 보기


728x90
반응형
728x90
반응형

이번에는 Kotlin에서 속성을 어떻게 선언하고, 어떤 타입들이 있는지 알아보겠습니다.


(출처: https://kotlinlang.org/docs/reference/properties.html)


Kotlin 공식사이트에 나와있는 문서를 가져왔습니다.


속성은 var과 val 두가지로 선언할 수 있으며 var은 변수, val은 상수입니다.

한마디로 var은 read와 write가 가능하지만 val은 read-only입니다.


Java에서는 PropertyType propertyName순으로 와야 했지만

Kotlin에서는 그 반대로 propertyName이 먼저오고 뒤에 :을 붙인 다음 PropertyType이 나옵니다.

또한 속성값을 초기화 하거나 getter를 지정해 준다면 PropertyType은 생략할 수 있습니다.


C나 Java에서 항상 코드 마지막에 넣어야 했던 ;을 넣지 않아도 됩니다!

넣어도 컴파일에러는 나지 않는다. 그래도 넣지말자!


그리고 속성에 이름을 지정할 때 규칙이 있는데 @, #, !와 같은 특수문자와 공백을 사용할 수 없고 _는 사용이 가능합니다.

Java에서는 $도 사용이 가능했지만 Kotlin에서는 불가능

var money1: Int = 100
var money2 = 100
var money3: Int
money3 = 100

money1은 PropertyType과 속성값 초기화를 같이 한 방법입니다.

money2는 속성값 초기화를 함으로써 money2의 PropertyType을 자동으로 알게 하는 방법입니다.

money3는 PropertyType만 정하고 속성값은 나중에 넣어주는 방법입니다.


그럼 이제 속성 기본 타입이 어떤것이 있는지 알아보겠습니다.


기본 타입에는 숫자(number), 문자(character), 논리(boolean), 배열(array)이 있습니다.

숫자는 Double, Float, Long, Int, Short, Byte

문자는 Char, String

논리는 Boolean

배열은 Array<T>입니다.

<T>은 Generic입니다. 여기서는 다루지 않고 다음에 알아보겠습니다.


숫자속성의 크기는 아래와 같습니다.


TypeBit width
Double64
Float32
Long64
Int32
Short16
Byte8

출처: https://kotlinlang.org/docs/reference/basic-types.html




정수에서 리터럴 상수는 아래와 같이 표현이 가능합니다.

10진수: 123

Long type 10진수: 123L

16진수: 0x0F

2진수: 0b00001011


Java에서는 8진수를 지원을 하는데 Kotlin에서는 8진수 대신 2진수를 지원합니다.

var literal1: Int = 123
var literal2: Long = 123L
var literal3: Int = 0x0F
var literal4: Int = 0b00001011



실수에서 리터럴 상수는 아래와 같이 표현이 가능합니다.

Double: 123.5, 123,5e10

Float: 123.5f, 123.5F

var literal5: Double = 123.5
var literal6: Double = 123.5e10
var literal7: Float = 123.5f
var literal8: Float = 123.5F


그리고 자리수가 큰 숫자를 한눈에 보기 편하게 하기 위해 _를 사용 해서 표현할 수 있습니다.

(Underscores in numeric literals)

콘솔에서는 _가 제거된 형태로 출력됩니다.

val oneMillion = 1_000_000
val creditCardNumber = 1234_5678_9012_3456L
val socialSecurityNumber = 999_99_9999L
val hexBytes = 0xFF_EC_DE_5E
val bytes = 0b11010010_01101001_10010100_10010010




문자는 Char, 문자열은 String으로 나타낼수 있습니다.


Char는 작은따옴표로 표현합니다.

var one: Char = '1'
var a: Char = 'a'
var percentSign = '%'


String은 큰따옴표로 표현합니다.

또한 Char Array로도 볼 수 있어서 []을 사용해서 Char를 가져올 수 있습니다.

var helloKotlin: String = "Hello Kotlin"
var helloAndroid4Kt: String = "Hello Android for Kotlin"
helloAndroid4Kt[0]
helloAndroid4Kt.get(0)


String은 다른 변수값을 포함해 만들 수 있습니다.(String Templete)

var name = "Googry"
var introduce = "My name is $name!"
println(introduce)



Boolean은 참(ture)과 거짓(false)을 나타낼 때 사용하며 반복문, 조건문 등에 사용됩니다.

다른 언어와 같이 ||(OR), &&(AND), !(Negation)을 사용합니다.

var isThreadRunning: Boolean = true
if(!isThreadRunning)
println("Thread is not Running")

if는 조건문으로 다음 포스팅 때 자세히 설명하겠지만 간단하게 이야기 하면 ()안의 값이 true일 때 if아래 코드가 실행되는 것입니다.




Array는 같은타입의 변수들의 모음이라고 볼 수 있습니다.

기본적으로 get(), set()을 가지고 있고 [index]과 같은 동작을 합니다.

size라는 속성을 가지고 있고 Array안에 item의 개수를 나타냅니다.


Array생성은 arrayOf()를 사용해서 만듭니다.

var x: Array<Int> = arrayOf(1, 2, 3)
// get
x[0]
x.get(0)
// set
x.set(0, 2)


그리고 Kotlin에서는 숫자, 문자, 논리에 해당하는 기본 Array클래스를 제공합니다.

StringArray는 제공하지 않습니다.

var intArray: IntArray = intArrayOf(1,2,3)
var doubleArray: DoubleArray = doubleArrayOf(1.1,2.2,3.3)
var charArray: CharArray = charArrayOf('a','b','c')
var booleanArray: BooleanArray = booleanArrayOf(true, false, false)


728x90
반응형

'Language > Kotlin' 카테고리의 다른 글

(Kotlin) Break, Continue  (0) 2017.10.06
(Kotlin) 흐름제어 if when for while break continue  (0) 2017.07.12
(Kotlin) Scanner로 입력받기  (2) 2017.07.12
(Kotlin) IntelliJ 프로젝트 생성하기  (0) 2017.07.06
(Kotlin) 코틀린이란  (0) 2017.07.06
728x90
반응형


우선 Kotlin을 사용하기 위해 JetBrains 홈페이지에 들어가서 IntelliJ IDEA를 설치해보겠습니다.

Windows: https://www.jetbrains.com/idea/download/#section=windows

Mac: https://www.jetbrains.com/idea/download/#section=mac 

Linux: https://www.jetbrains.com/idea/download/#section=linux


저는 맥북을 사용해서 macOS로 설치하는데 OS에 맞는 것을 다운받아주면 됩니다.


우리는 Kotlin만 사용하면 되니까 Community로 다운받아 줍니다.


다운받아서 설치하고 실행하면 아래와 같이 로딩화면이 나오고


아래와 같은 화면이 나오면 정상 동작입니다.


자 그럼 Create New Project를 눌러서 프로젝트를 만들어보겠습니다.


새로운 프로젝트를 만드는 창입니다.


Java에서 Kotlin(Java)를 체크 해주시고 Next를 눌러주세요.


프로젝트의 이름과 경로를 설정하는 창입니다.


Project Name에 HelloKotlin이라고 넣고 Project Location은 원하는 경로를 넣어주세요.

그 다음에 Finish를 눌러주세요.


짠~


프로젝트 생성에 성공했습니다.


그럼 이제 Kotlin 코드를 작성할 .kt파일을 만들어봅시다.

Kotlin파일의 확장자명은 .kt입니다.



간단하게 src 폴더를 우클릭하시고 New -> Kotlin File/Class를 선택해주세요.


그리고 Name에 HelloKotlin라고 넣어주시고 OK를 눌러주세요.

(지금 단계에서 Kind는 신경쓰지마세요)




HelloKotlin.kt가 생겼습니다.


이제 Java에서 main함수를 만들듯이 Kotlin에서 main함수를 만들어보고 println()를 사용해 콘솔에 출력해봅니다.


여기서 fun main(args: Array<String>{ ... }은 프로그램이 시작되는 함수이고 함수 안에 args: Array<String>은 추가적으로 데이터를 넣어서 실행 할 때 args로 데이터가 들어오게 됩니다.

그리고 println("Hello Kotlin!")은 Hello Kotlin!이라는 문자열을 콘솔에 출력하겠다는 의미입니다.


위 코드는 아래 Java 코드와 동일한 역할을 합니다.


이제 실행을 해봅니다.


코드 왼쪽에 코틀린로고를 누르면 3개의 선택지가 나오고 Run 'HelloKotlinKt'를 선택해 실행해 줍니다.



IntelliJ아래에 위와 같이 출력되면 성공입니다.










728x90
반응형

'Language > Kotlin' 카테고리의 다른 글

(Kotlin) Break, Continue  (0) 2017.10.06
(Kotlin) 흐름제어 if when for while break continue  (0) 2017.07.12
(Kotlin) Scanner로 입력받기  (2) 2017.07.12
(Kotlin) 속성 기본 타입  (0) 2017.07.06
(Kotlin) 코틀린이란  (0) 2017.07.06

+ Recent posts