본문 바로가기

프로그래밍 언어/코틀린_쌩초보를 위한 기초

쌩초보를 위한 기초_21_컬렉션 collection_Set&&Map set : setOf() 또는 mutableSetOf() set(쎝)은 각 요소가 고유하고 중복 없는 요소들의 컬렉션이다. 그러므로 사용자의 id와 같이 중복을 걸러야(filtering) 할 때 유용하다. 변경 가능하게 사용하려면 mutableSetOf를 사용한다. set은 객체의 hashCode() 해시코드 함수를 사용하여 중복을 걸러낸다. set는 데이터를 찾을 때 List처럼 항목의 인덱스(index)를 사용하지 않고 index의 해시코드를 사용한다. 이것을 사용하여 고유하고 명확한 컬렉션을 유지할 수 있다. set에 대한 활용법 등은 다음 기회에 다루기로 한다. Map : mapOf() 또는 mutableMapOf() 맵(map)은 각각의 value(값)에 고유한 key가 있는 객체의 쌍을 저장한.. 더보기
쌩초보를 위한 기초_20_컬렉션 collection_Array && List 컬렉션 collection : 더미 프로그램에서 다루는 데이터 타입(String, Int, Char 등)을 앞에서 알아보았다. 데이터를 다룰 때 같은 타입을 많이 처리해야 하는 경우가 있다. 이것을 프로그래밍에서는 컬렉션(collection, 더미, 무리)이라고 것으로 처리한다. 컬렉션은 프로그래밍에서 수 또는 항목이 여러 개 있는 더미(모임) 상태를 나타내는 말이다. 이런 컬렉션 상태를 처리하기 위해서 코틀린의 표준 라이브러리(미리 만들어 놓은 함수들)를 제공하고 있다. 컬렉션에서 다루는 객체(대상)들은 elements(요소) 또는 item(항목)이라고 부른다. 변수에 타입(Type; 데이터형)이 있는것 처럼 컬렉션에도 타입이 있다. 또한 변수를 선언할 때 불변(immutable)인 것은 val로 선언.. 더보기
쌩초보를 위한 기초_19_예외처리 Exception 코드 중단 Exception: try catch Exception(예외)는 코드가 중단하는 현상이다. 프로그램이 실행하려면 컴파일러(compiler)라는 해석 프로그램이 운영체제(윈도우즈 등)가 알 수 있는 기계어로 바꿔서 cpu에 전달하면 그 내용을 작업하는 과정을 거쳐 프로그램이 작동한다. 코드를 작성할 때 빨간색 에러 메세지가 나타나는 것도 미리 에러를 방지하기 위해 컴파일러가 작동하고 있는 것이다. 하지만 실행 도중에 어떤 에러가 일어날 지 완벽하게 알 수는 없다. 프로그램은 이런 경우에 Exception(예외)를 발생시키고 종료된다. 이런 예외 현상을 일으키는 원인은 다양하다. 예외가 일어나는 것에 대비하는 것을 예외처리라고 한다. 잠재적으로 Exception이 발생할 수 있는 코드를 try ~.. 더보기
쌩초보를 위한 기초_18_흐름 중단 break & continue 실행 중단 break : 조건이 맞으면 반복문을 즉시 끝낸다. 앞 글의 return에 이어서 코드 실행을 중단 하는 break 에 대해 알아본다. 복습을 겸하여 아래 for 반복문을 만들어 본다. for 반복문의 매개변수 i는 integer(정수)의 첫글자를 따서 편의상 관습적으로 지은 것이다. 이미 알겠지만 변수명이므로 아무렇게나 지어도 되지만 코드의 맥락에 맞게 짓는 것이 상식이다. 어쨌든 for문은 변수i에 범위(in) 1부터 5까지를 순서대로 넣고 중괄호{} 내용을 실행하는 것을 반복하라는 코드다. 중괄호 실행 부분은 변수에 들어온 i값을 줄 바꿔가며 출력하는 println함수이다. 실행해서 확인 해보자. 이번에는 if조건문을 추가 해보자. if조건의 i에 순서대로 넣어 조건을 비교하고 조건에 맞.. 더보기
쌩초보를 위한 기초_17_흐름 중단 return 코드 실행 멈추기 조건문, 반복문을 사용할 때 실행 중이던 코드를 바로 중단하거나 조건으로 되돌아 가도록 할 때 사용하는 키워드 3가지 return break continue return(리턴, 반환): 중단하고 함수내에서 결과값을 반환하거나 지정된 레이블로 이동한다. break(브레이크, 중지): 조건에 상관없이 반복문을 끝내고 나간다. continue(컨티뉴, 계속): 조건을 모두 실행하지 않고 다시 조건문으로 간다. return(리턴) 키워드 먼저 아래 함수를 실행하면 결과는 어떻게 나올까? 함수는 다음과 같은 과정으로 실행한다. 변수 foo에 목록(list)을 Int타입으로 넣는다.(1,2,3,4,5) 변수foo의 각 항목에 대해(forEach) 실행하라 { 만약 it이 3과 같으면 출력하라(it.. 더보기
쌩초보를 위한 기초_16_반복문 for while 반복문(Loops) 반복문은 실행 코드를 반복하여 실행하는 명령문이다. 반복문은 다음 3가지 키워드로 구현할 수 있다. for while do~while for Loops for loop(반복)은 변수를 선언하고 조건식에 맞도록 변수 값을 반복해서 증감하는 구문이다. 범위를 나타내는 in 키워드와 함께 사용한다. 기본 모양은 다음과 같다. for (매개변수 in 범위) { 반복할 내용 } for문으로 1부터 10까지 더하는 함수를 만들어 본다. 변수 sum(합)을 만들고 초기값에 0을 넣어서 초기화한다. for 매개변수는 x라고 하고 범위는 1에서10까지이다. 실행할 본체 내용은 한 줄이므로 중괄호를 생략할 수 있다. 함수가 실행되면 sum값은 최초 0이다. 다음 sum에 첫번째 x 값(1)을 더하여(0.. 더보기
쌩초보를 위한 기초_15_조건문 when 조건문 when 앞에서 만들었던 if else 조건문에서는 등급을 A,B,C,F 4개로 나누었다. 그런데 나누어야 할 등급이 많아지면 else if 조건문도 그 만큼 많이 만들어야 하므로 작업이 많아지고 코드도 길어질 것이다. 이런 경우에 when 조건문을 사용하면 간단하게 만들 수 있어 편리하다. when은 언제, ~일 때 , ~할 때를 나타내는 글자이므로 if조건문을 대용하여 사용할 수 있다. 3 이면 : If it is 3 3 일 때 : When it is 3 when조건문은 2가지로 표현할 수 있다. 전달 인자(argument)를 사용하는 경우 전달 인자(argument)를 사용하지 않는 경우 전달 인자가 있는 when문 전달 인자를 사용한 when문은 아래와 같은 모양으로 만든다. 조건에는 전달.. 더보기
쌩초보를 위한 기초_14_조건문 if else 조건문 (Conditional Expression) 프로그램의 코드는 여러 줄로 이루어져 있다. 기본적으로 위에서 아래로 코드를 실행한다. 이런 순차적인 코드의 흐름을 바꿀 때는 제어문을 사용한다. 제어문은 어떤 조건을 검사한 후 다음에 무엇을 할지 결정할 때 사용하는 형식이다. 제어문에 사용하는 키워드(Keyword)는 if (만약~라면) , for (~동안) , when (~일 때), while (~동안) 등이 있다. 예를 들면 조건문 if ( ) { } 는 괄호( ) 안이 참(true)이면 중괄호{ } 내용을 실행한다. 조건문 if 키워드(keyword) : if (만약 ~라면) , else(그렇지 않으면) if (true) do : 만약 괄호( ) 안이 true이면 do하라 if (true) {d.. 더보기