'언어/Kotlin' 카테고리의 글 목록 (3 Page)

언어/Kotlin 29

Kotlin : 클래스 (Class)

1. 클래스 Class var currentGlass1Content = 40 val glass1Capacity = 150 var currentGlass2Content = 90 val glass2Capacity = 200 지금까지 잔의 필요한 데이터들을 변수에 저장해 왔다. (참고: https://bruders.tistory.com/19)변수 currentGlass1Content 와 glass1Capacity는 첫번째 잔에 속해있으며 curentGlass2Content와 glass2Capacity는 두번째 잔에 속해있는 변수들이다. 이런 하나의 범주에 속해있는 값들을 별도의 데이터 유형으로 정의하는 것이 더 현명할 것이다. 이는 클래스를 통해 해결이 가능하다. 코틀린의 Class는 해당 클래스의 객체에 대..

언어/Kotlin 2022.09.02

Kotlin : 객체 (Object)

코틀린은 자바처럼 객체 지향 언어이다. 그럼, 당연히 우리는 이 '객체'가 무엇인지 알아야 할 필요가 있다. 보통 우리가 보거나 만질 수 있는, 실세계의 존재하는 것들을 객체라 한다. 예로 책상, 의자, 컵, 연필 등의 흔히 보이는 물건들. 따라서 객체 지향 프로그래밍은 우리가 매일 인지하고 있는 것들과 가깝다고 보면 된다. 실세계에는 객체가 존재한다. (예: 컵) 이러한 객체는 속성을 가지고 있다. (예: 재질, 색상, 내용물, 크기) 객체에는 다양한 상태가 있다. (예: 컵이 차있다, 비어있다, 가득 차있다, 들어있는 음료가 뜨겁다, 차갑다) 객체는 서로 연관되어 있다. (예: 음료(객체)가 컵(객체)에 들어있다. 사람(객체)이 컵(객체)으로 음료(객체)를 마신다.) 객체 사이에는 상호작용이 있다. ..

언어/Kotlin 2022.06.24

Kotlin : 함수 선언과 호출

1. Top Level 함수와 Member 함수 Top - Level - Function: '자유함수'라고도 불리는데 어디서든 자유롭게 호출이 가능하다. // println() 이나 arrayOf() 함수 // 예시 println("오늘의 날씨는 37도입니다") val names = arrayOf("김하나","박둘","황셋") Member - Function: '메서드'라고도 불리며 '.'을 통해 호출이 가능하다. (멤버 함수는 클래스, 오브젝트 또는 인터페이스 내부에 정의된다.) //예시: sum 함수 val numbers = arrayOf(1,2,3,4,5) val sum = numbers.sum() println(sum) 위에 예시들을 보면 알겠지만, 함수는 항상 어떠한 '값'을 반환하다. 함수 a..

언어/Kotlin 2022.06.18

Kotlin : 제어문 if 와 when

1. If 저번에 쓰여진 코드를 다시 보자. var currentBottleContent = 600 var currentGlassContent = 50 val maxGlassContent = 130 val toBeFilled = maxGlassContent - currentGlassContent //채워져야 할 양 currentGlassContent += toBeFilled currentBottleContent -= toBeFilled 여기서 눈치챘겠지만 이 코드엔 문제가 있다. 코드를 보면 무조건 잔은 채워지고, 그 채워진 만큼 병 속의 물의 양이 줄어드는데, 만일 병에 있던 물의 양이 그 채워져야 할 양보다 적다면, 성립할 수가 없게 된다. 병에 있던 물의 양이 50ml 였다면.. 결과는 다음과 같을..

언어/Kotlin 2022.06.17

Kotlin : 변수 var 과 val

1. 변수의 필요성 물론 변수가 없이도 우리는 예를 들어 어떤 수학적인 계산을 이어갈 수가 있다. PI * pow(5.0,2.0) 그냥 위와 같은 값을 얻고 싶다 가정한다면, 변수가 필요없겠지만 여기서 생각해 봐야할 점이 있다. 값을 얻으면 그대로 끝이라는 것이다. 무슨 말이냐면, 이 얻은 값을 결과로 다른 연산들을 이어가고 싶어질 시, 같은 코드를 다시 그대로 써야 한다는 것이다. 5가지 정도만의 연산을 이어서 한다고 해도 코드는 길어질대로 길어져 읽기가 불가능해 질 것이다. 그렇게 쓰여진 코드는 시간이 지나서 다시 보게 될 때, 이 코드가 무엇을 의미했었는지 다시 생각해나가야 한다. 그러니 표현식을 쓸 때 이 식이 의미하는 게 무엇인지 생각해보고, 그 의미를 이름에 나타내야 한다. 이는 변수를 통해 ..

언어/Kotlin 2022.06.16

Kotlin 기초 : 자료형 (Data type)

Int, Boolean, String 등의 모든 자료형은 허용되는 값과 해당 유형의 값으로 가능한 함수 및 연산을 정한다. 이는 컴파일러가 프로그래밍할 때 조기에 우리를 오류로부터 보호할 수 있는 유일한 방법이기에 중요하다. 컴파일러가 컴파일 중에 자료형을 인지하고 함수와 연산이 자료형에 맞게 쓰였는지 확인한다 (코틀린은 자료형이 정적으로 지정되기 때문에). 동적으로 지정된 언어같은 경우 자료형 검사가 프로그램 실행(런타임)에 일어난다. 자료형은 Typ에 대한 데이터가 인코딩(사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것 -위키백과)되는 방법도 서술한다. 이는 프로그램이 컴퓨터의 메모리에 값을 저장하기 때문에 중요하다. 메모리 내 모든 것이 비트(0과 1)로 구성되기 때문에 ..

언어/Kotlin 2022.06.15

Kotlin 기초 : 표현식 (Expression)과 문 (Statement)

Expression : 표현식은 유형(Typ)의 값으로 '평가' 될 수 있는 모든 것, 즉 어떠한 값을 반환하는 것들. (kotlin에서 모든 함수들은 최소 unit을 반환하므로 표현식이다) 가장 간단한 표현식의 예) 36.5 28 "Hello World" 각 줄이 하나의 표현식이다. Expression Typ 허용 값 허용되는 연산자 36.5 Double 실수 +, -, *, / ... 28 Int 정수 +, -, *, / ... "Hello World" String 문자열 +, == ++ 15 * 89 47 + 12 두 식 모두 Int의 값으로 평가되니(Int값을 반환하니) expression 이다. 표현식 안에는 다른 표현식이 포함 될 수 있다. fun sumOf(a: Int, b: Int): In..

언어/Kotlin 2022.06.12

Kotlin 기초 : 언어 구성요소 (syntax, semantic)

예로, 영어를 할 줄 알지만 독일어를 모르는 한국인이 독일어로 쓰인 문장을 읽고 이해할 수 없는 듯, 번역가가 이해할 수 있는 언어로 써있어야 번역이 가능한 법이다. 컴파일러도 마찬가지다. 구문상으로 올바른 소스코드만 이해 할 수가 있다. 1. Syntax 구문론 구문은 언어에 대한 유효한 문자의 규칙이다. 컴파일러는 구성이 제대로 된 구문이 필요하다. 그런 구문은 예로 코틀린의 fun, class, if 와 같은 명확하게 정의된 키워드나, +, -, *, / , % 와 같은 연산자나, 548 , "안녕" 과 같은 고정된 데이터 값이나, 데이터의 값이나 함수의 이름과 같은 자체 식별자들로 이루어져 있다. 예) println("Hello") : println은 코틀린의 기본 출력문이다. (자바와 같다) 자..

언어/Kotlin 2022.06.03