Kotlin 31

내일배움캠프 12.12 TIL

>멤버함수 ```kotlin package study2 class Employee { var name = "" var birthday = "" var gender = "" // 프로퍼티와 멤버함수 합쳐서 멤버라고 한다. //멤버 함수 : 클래스에 내장된 함수 fun printInfo() { println("이름 :" + this.name) println("생일 :" + this.birthday) println("성별 : " + this.gender) } } // Employee 프로퍼티와 멤버함수를 Employee의 멤버라고 한다. ``` \- 클래스 내에 있는 함수를 멤버함수라고 한다. \- this. 부분을 잘 봐두기 > 주 생성자 ```kotlin class Human constructor(name..

Kotlin 2023.12.22

내일배움캠프 12.11 TIL

> function 함수란 명령어를 담는 상자이다. - 함수의 기본형 ```kotlin fun main() { println(myFun()) } fun myFun(): Int { //인자 (파라미터, 매개변수)가 없는 함수 val a = 10 val b = 11 println("a: "+a+", b:"+b) return a + b } ``` - return을 생략한 함수 형태 ```kotlin fun main() { val aaValue = aa() println(aaValue) } fun aa(): Double { return 3.0 + 100 } // 위의 함수를 간단히 줄여서 다음과 같이 사용할 수 있다. fun aa(): Double = 3.0 + 100 fun aa() = 3.0 + 100 ``..

Kotlin 2023.12.22

내일배움캠프 12.10 TIL

typealias typealias num = String fun main() { val vu: num = "hello kotlin" println(vu) } typealias는 자료형에 별명을 붙여서 사용이 가능하다. String을 num으로 별명을 붙여서 사용한 코드 if문 블럭없이 사용하기 fun main() { // if문 var aa = 30 var bb = 20 if(aa > bb) println("조건이 '참' 입니다.") else println("조건이 '거짓' 입니다.") } 실행문이 한 줄일 경우에 위 코드같이 한줄로 작성이 가능하다. 그러나 실행구문이 한 줄이더라도 중괄호를 사용해 코드를 감싸는것을 추천한다고 함. 이렇게 할 시 코드 가독성이 증가한다. (..

Kotlin 2023.12.22

내일배움캠프 12.09 TIL

TIL ReadLine( ) 과 Readln( )의 차이 / readlnOrNull 위 세가지 종류의 차이는 null 허용 여부에 차이가 있다. 각 칸의 자료형을 보면 알 수 있다. 코틀린의 물음표(?)는 null을 허용하게 해준다. 따라서 아래 두가지는 null을 허용하는 메서드이다. 계산기 과제때 readline()!!.toInt를 사용했는데, 과제내용에선 null을 허용할 필요가 없었기 때문에 non-null 단정기호를 사용할 이유가 없었다. (그냥 강의자료보고 따라했을뿐 ㅠㅠ) 정확히 이해되는 개념은 아니지만 조금이라도 알고 있으면 null 부분 학습할 때 도움이 될 것 같다. 코틀린 공식홈페이지 Docs 자료 검색중 코틀린 공홈에 있는 Docs에 대해 알게되었다. 코틀린의 교과서 같은 느낌인데 ..

Kotlin 2023.12.22

내일배움캠프 12.08 TIL

1주차 과제 계산기만들기 package calculator fun main() { val calculator = Calculator() println("연산 방식을 선택해주세요.") println("1 : 더하기, 2 : 빼기, 3 : 곱하기, 4 : 나누기") val method = readln().toInt() println("수를 입력해주세요.") val number1 = readln().toDouble() println("수를 입력해주세요.") val number2 = readln().toDouble() var answer = 0 when (method) { 1 -> println("계산결과 : ${calculator.add(AddOperation(), number1, number2)} 입니다."..

Kotlin 2023.12.22

내일배움캠프 12.07 TIL

1주차 과제 계산기만들기 package calculator fun main() { val calculator = Calculator() println("연산 방식을 선택해주세요.") println("1 : 더하기, 2 : 빼기, 3 : 곱하기, 4 : 나누기") val method = readln().toInt() println("수를 입력해주세요.") val number1 = readln().toDouble() println("수를 입력해주세요.") val number2 = readln().toDouble() var answer = 0 when (method) { 1 -> println("계산결과 : ${calculator.add(AddOperation(), number1, number2)} 입니다."..

Kotlin 2023.12.22

순수 함수

순수 함수 순수 함수 이해 동일한 입력 인자에 대해서는 항상 같은 결과를 출력 혹은 반환한다. 값이 예측이 가능해 결정적(deterministic)이다. //순수 함수의 예 fun sum(a: Int, b: Int): Int { return a + b // 동일한 인자인 a, b를 입력받아 항상 a+b를 출력 } 동일한 인자를 받아 100만번을 수행해도 같은 값이 나온다. 순수 함수의 조건 같은 인자에 대하여 항상 같은 값을 반환 함수 외부의 어떤 상태도 바꾸지 않는다. (바꾸지 말아야한다) (위에서 한 말이랑 같은말임) // 순수함수가 아닌 예 fun check() { val test = User.grade() // check() 함수에 없는 외부의 User 객체를 사용했음 if (test != nul..

Kotlin 2023.12.22

내일배움캠프 12.06 TIL

자료형 이중 등호(==)와 삼중 등호(===)의 사용 이중 등호(==)는 값만 비교할 때 삼중 등호(===)는 값과 참조 주소를 비교할 때 val a: Int = 128 val b: Int = 128 println(a == b) // true println(a === b) // true (값만 비교했기 때문에 '참'이 나온다.) val a: Int = 128 // 기본형 val b: Int? = 128 // 객체 (동적공간에 있음) println(a == b) // true (일단 값은 같기에 true) println(a === b) // false (위치가 틀리기 때문에 false) 연산자 산술 연산자 , -, , /, *% (나머지, Modulus)** 가 있다. if ((n % 2) ..

Kotlin 2023.12.22

객체지향 프로그래밍

객체지향 프로그래밍의 개념 객체지향 프로그래밍 코드는 코드를 정리하는 방법이다. 데이터에 대한 생각, 구조방식이라고 할 수 있다. 비디오 게임을 만든다고 상상해보자. 이 경우 플레이어 객체(object)가 필요하다. 각 플레이어 객체는 각각 다른 데이터를 갖을 것이다. 플레이어를 단 한명만 만든다면 const player = { name: "Elon Musk", health: 85, skill: "Programmer", }; 이렇게 코딩을 해도 될 것이다. 하지만 숫자가 늘어나면 문제가 생긴다. 플레이어들이 늘어나면 패턴, 이슈들이 생기는데 다른 플레이어도 마찬가지로 모두 같은 속성(property)를 가지고 있다. name, health, skill과 같은 동일한 속성(property) 말이다. 다른점..

Kotlin 2023.12.22