분류 전체보기 98

내일배움캠프 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

내일배움캠프 12.04 TIL

학습 내용 코딩 컨벤션 (Coding Convention) CamelCase 주로 변수 메소드의 이름을 지정할때 사용한다. seoulFood (O) seoul_food (X) seoulfood (X) snake_case 주로 상수의 이름을 지정할때 사용한다. seoul_food (O) SeoulFood (X) PascalCase 주로 클래스의 이름을 지정할때 사용한다. SeoulFood (O) Seoul_Food (X) Input과 Output Input 이란 다른 장치로부터 데이터를 불러와 프로그램에서 확인하는 행위 ex1) 키보드에서 입력한 내용을 불러와서 프로그램에서 확인 ex2) 마이크에서 녹음한 목소리를 불러와서 프로그램에서 확인 ex3) 메모장의 내용을 불러와서 프로그램에서 확인 ex4) US..

Kotlin 2023.12.22