스터디/Kotlin

스터디/Kotlin

[ 스터디 ] 코틀린 : 함수 2

1. 함수 본문 안에서 변수 정의 가능 > 함수 본문 내부에서만 지역적으로 사용할 수 있으므로 지역 변수 local variable 라고 한다. > 정의한 변수는 함수 안에서 자신이 정의된 줄 바로 다음 줄부터 사용할 수 있다. > 함수 안에서 함수를 정의할 수 있다. 2. 정적 영역 규칙 지역변수나 지역 함수를 정의할 때는 자신보다 더 앞에 정의된 지역 변수의 값을 사용할 수 있다. * 86페이지 예시 너무 어려웠다.... -> 다시 보기 - 영역 규칙 : 이름의 속성을 어디서 찾을 수 있느냐를 결정하는 규칙 - 프로그램의 영역 규칙 : 읽는 사람들에게 혼동을 일으키지 않고 프로그래머들이 쉽게 변수의 정의를 찾아낼 수 있는 방식이어야 한다. ❓구문적 영역 규칙 lexical scope rule 어떤 이..

스터디/Kotlin

[ 스터디 ] 코틀린 : 함수

- 추상화 : 요소를 묶어 이름을 부여하는 작업과 공통 부분을 재사용 가능한 형태로 묶고 개별적으로 다른 부분을 파라미터화 하는 작업으로 나눌 수 있다. > 요소를 묶어 이름을 부여 ! 세부 구현을 잊고 더 높은 수준에서 프로그램의 각 부분이 하는 일을 이해하게 해준다. > 요소에 이름을 부여하되 요소를 파라미터로 주입받게! 가장 간단하고 근원적인 추상화 방법 = 함수 1. 함수 main() 은 아무값도 돌려주지 않는 함수 fun 함수이름(파라미터 목록) { 함수본문 } 파라미터 값으로부터 새값을 계산해 돌려주는 함수를 만들고 싶을 때에는 fun 함수이름(파라미터목록):반환타입 { 함수본문 } fun add(x: Int, y: Int) { return x + y } -> 함수의 결과를 계산하는 식을 넣어..

스터디/Kotlin

[ 스터디 ] 코틀린 : 원시타입, 참조 타입 배열

1. 원시타입, 참조타입 배열 - 원시 타입 primitive type : 컴퓨터 CPU가 즉시 이해할 수 있는 값 = 메모리상에 존재하는 타입 -> 코틀린에서는 모든 대상을 객체처럼 취급할 수 있다. (내가 가장 이해하기 어려웠던 부분.... 정리...) ! 모든 대상을 객체처럼 취급하여 발생하는 문제점 Array 같은 배열 타입의 값인 경우 배열 내부에 저장할 값의 타입을 알 수 없다. 이런 경우 컴파일러는 가장 안전한 방식... 런타임에 문제가 생기지 않는 방식을 택해야 한다. -> 배열의 원소로는 32비트 정수 값이 아니라 정수 값 객체를 가리키는 참조 reference를 사용할 수 밖에 없다. 이 부분이 내가 공부를 아직 얕게 했다고 느끼게 해준 부분이었다. 질문이 많이 생겼지만 읽으면서 생긴 ..

스터디/Kotlin

[ 스터디 ] 코틀린 : 식과 연산자, 배열

1. 식 & 문 - 식 : 어떤 한가지 값으로 계산될 수 있는 프로그램 조각 - 문 : 값을 만들어 내지 않지만 프로그램의 흐름을 제어하는 역할 2. 배열 - 문자열은 문자를 여럿 연속으로 이어붙인 데이터라고 할 수 있다. > 컬렉션 collection : 여러 원소가 저장된 데이터 구조 컬렉션 중 배열은 가장 오래된 컬렉션 인덱스 index 값만으로 그 값의 위치를 알 수 있다는 장점이 존재 = 배열 ( 프로그래밍에서 주소 등을 표현할 때는 보통 16 진수 사용) > 시간 복잡도 time complexity : 연산을 수행하는데 얼마나 오랜 시간이 걸리는지 > 상수 시간 연산 constant time operation : 입력과 관계없이 항상 일정한 시간이 걸려 수행할 수 있는 계산 - 빠르게 데이터를..

스터디/Kotlin

[ 스터디 ] 코틀린 : for, while, do ... while

1. for 코틀린에서 for 루프를 사용하는 방식은 이렇다. fun main(){ //범위를 정할 때에는 최솟값..최댓값 for(i in 1..10) println(i) } fun main(){ for(i in 2..9){ for(j in 1..9){ println("$i * $j = ${i*j}") } } } 아래 코드와 같이 루프 안에 루프가 있고 계산 결과를 출력하고자 할때에는 $i , $j 에 i 와 j를 넣어주고 ${식}에 결과를 넣어주는 방식을 사용한다. 이는 문자열 템플릿 string template이라고 한다. 2. while , do...while for 루프는 정해진 만큼만 반복되는 장치이지만 그렇지 않은 경우에는 while을 이용하여 코드를 작성할 수 있다. 하지만 while 루프를..

스터디/Kotlin

[ 스터디 ] 코틀린 : if, when

조건에 따라 동작을 수행해야 하는 경우에 if/else 를 사용한다. fun main() { val d = -1.0 println(if (d >= 0) d else -d) } 우선 나는 이 코드를 보았을 때 java에서 매일같이 쓰던 중괄호가 없으니 허전했다... 물론 간단한 if else 문에서는 중괄호를 생략했지만 회사에서는 주로 중괄호를 많이 썼기 때문에 허전했던 것 같다. if 나 when 모두 명령문으로 쓸 떄는 else 가 없어도 되지만 식으로 쓸 때에는 반드시 else 가 있어야 한다. 각 조건을 만족하지 못할때 어떤 동작을 해야하는지 모르는 것은 말이 안되기 때문이다. if 와 when식은 불변값을 자주 사용하는 함수형 프로그래밍에서 val 사용을 편리하게 해주고 접근 방법을 더 쉽게 사용..

공또뤼
'스터디/Kotlin' 카테고리의 글 목록