본문 바로가기

프로그래밍 언어

Kotlin더파기_08_Number 숫자 코틀린은 숫자를 처리하기 위한 숫자 타입의 클래스를 가지고 있다. Byte (8비트) Short (16비트) Int (32비트) Long (64비트) Float (32비트) Double (64비트) 숫자 타입의 특징 정수와 실수로 나눌 수 있다. 양수, 음수를 나타내는 부호를 갖는다. 메모리에 할당되는 비트수가 다르므로 다룰 수 있는 최대,최소값이 다르다. Byte, Short타입은 자주 사용하지 않는다. Int타입에 저장할 수 있는 가장 큰 수가 21억4천7백만 정도이므로 대부분의 경우는 숫자 타입을 Int로 사용하면 되고 더 큰 수는 Long을 사용한다. Long 타입은 수학,과학 프로그램이나 게임 등의 시간을 계산할 때 사용한다. 소수점 있는 숫자는 Double을 사용하면 된다. 문자열 타입의 변환.. 더보기
Kotlin더파기_07_String_문자열 코딩에서 문자 데이터는 String(문자열)로 나타낸다. 코틀린 표준 라이브러리에는 String 타입의 다양한 함수들이 있다. 이 함수들을 사용하여 문자열을 다루어본다. 문자열 부분 추출 #substring( )함수 substring함수는 문자열의 부분을 추출하여 반환한다. 상수로 선언한 SHOP_NAME (가게 이름)이라는 변수를 만든다. 이 변수에는 String(문자열) 값으로 Wraven's shop (Wraven의 가게)이 저장되어 있다. 이 문자열에서 일부분인 Wraven 만 추출하는 방법을 알아본다. 이제 변수 SHOP_NAME에서 Wraven만 추출하여 "한 남자가 Wraven에게 음식을 주문한다."라는 문자열을 출력하는 함수를 만들어 본다. 9번줄: 함수 이름은 order(주문)이라고 하자.. 더보기
Kotlin더파기_06_Null & Exception_널과 예외 # Null 널 null은 값이 없다는 것을 나타낸다. 코틀린에서는 null로 지정할 수 있는 것과 지정할 수 없는 것이 있다. null값을 가질 수 있는 것을 nullable (널러블) 가질 수 없는 것을 non-nullable (난널러블)이라고 한다. 많은 프로그래밍 언어는 어떤 타입의 변수도 null값을 가질 수 있다. 또한 기본값이 없는 변수의 초기값으로 자주 null을 사용한다. 그래서 NullPointerException(널 포인터 예외)라는 에러가 자주 발생한다. 코틀린은 이런 에러를 방지하기 위해 null을 지정(명시)하는 것만 null값을 가질 수 있다. 위 코드에서 변수 fruit(과일)을 정의한 후 String(문자열) 값으로 apple을 설정했다. 그리고 fruit에 null값을 넣.. 더보기
Kotlin더파기_05_Function Reference_함수참조 앞 글에서 람다를 이용하여 함수를 다른 함수 인자로 전달했다. 앞 글에 이어서 여기서는 인자를 전달할 때 함수참조를 사용하는 방법을 알아본다. 함수 참조 함수참조는 일반적인 함수(fun으로 정의한 함수)를 인자로 전달한다. lotteryPrizeMoney(복권 당첨금) 함수를 만든다. runTest함수에 prizeMoney(상금)을 함수 참조 매개변수로 추가한다. 이 매개변수를 사용하여 상금을 출력하는 코드를 추가한다. 함수를 참조할 때는 연산자 :: 를 사용한다. lotteryPrizeMoney 함수를 참조한 후 이것을 runTest 함수의 매개변수 prizeMoney 인자로 전달한다. 함수타입을 반환타입으로 사용하기 congratulation(축하) 함수를 만들어 보자 이 함수는 지역 변수(포상형태,.. 더보기
Kotlin더파기_04_Anonymous Function_익명함수 anonymous는 an(without; 없다)+onym(name; 이름)이 합쳐진 글자다. 즉, '이름이 없는(익명의)' 의 뜻이다. 함수에 이름이 없는 이유는 뭘까? 별로 중요하지 않기 때문? 아니다. 중요하고 쓰임새도 많다. Anonymous Function(익명함수) 익명함수는 말그대로 함수 이름 없이 다른 함수의 전달자 역할을 한다. '쌩초보 기초 12'에서 익명함수를 람다(lambda)라고 했었다. 코틀린의 표준 라이브러리(내장 함수 모음) 중 count()함수를 사용하여 테스트 해보자. 이 count함수는 문자열에서 호출하면 문자의 개수를 반환해 준다. 4번 라인은 문자열을 변수에 넣고 5번 라인에서 그 변수를 출력하는 코드이다. 7번 라인은 문자열의 개수를 변수에 넣고 8번 라인에서 그 변.. 더보기
Kotlin더파기_03_Function_함수 function (함수) 함수의 개념은 기초01에서 자판기에 비유했다. 함수는 특정 기능을 가진 부품과 같다. 이 부품들을 결합하여 다양한 형태의 프로그램을 만들 수 있다. 필요하면 직접 코딩하여 만들 수 있다. 그러므로 코틀린을 배우는 핵심 중의 하나가 함수를 만드는 방법을 배우는 것이다. 앞에서 많이 사용했던 println( )도 '화면에 데이터를 출력'하는 기능을 가진 함수다. 이 함수는 코틀린 표준 라이브러리에 포함되어 있어서 언제든지 필요할 때 불러와서 사용할 수 있다. 인텔리제이를 실행하고 앞 글에서 만들었던 프로젝트 NetHack를 불러온다. 아래쪽에는 변수 characterCondition을 만들고 조건에 따라 문자열을 출력하는 코드를 만들었다. 이 부분을 함수로 만들어보자. 함수를 만들기.. 더보기
Kotlin더파기_02_Control Flow 흐름제어 프로그램을 실행하는 도중에 어떤 조건에 따라 선택이 나누어지는 경우가 있다. 이 경우에 사용하는 코딩 방법이 control flow(흐름 제어)이다. 흐름 제어에 사용하는 표현식은 if문, when문 등이 있다. if else if (조건 ) {실행} else {실행} 만약(조건)이라면 {실행하라} 그렇지 않으면 {실행하라} 실습을 위해 인텔리제이로 새 프로젝트를 만든다. 프로젝트명은 NetHack 새 코틀린 파일을 만든다. 파일명은 Game main()함수를 만든다. 코틀린 파일 이름 Game에서 짐작하듯이 게임을 만드는 과정으로 if else를 어떻게 사용하는지 알아본다. main()함수에 다음과 같은 내용을 코딩해 보자. 게임 주인공 이름(name)은 Wraven 이다. 생명(life)의 초기값은 .. 더보기
IntelliJ인텔리제이 & JDK 설치하기 코틀린 앱 개발에 필요한 인텔리제이를 설치하는 순서는 아래와 같다. JDK 설치하기 인텔리제이는 자바 통합 개발 환경이므로 JDK를 먼저 설치해야 한다. 코틀린은 JDK의 자바 라이브러리를 사용하여 자바의 바이트코드로 변환한다. 검색창에서 oracle jdk download 입력한 후 오라클 사이트로 간다. 쿠키 허용 단추를 클릭한 후 JDK를 다운로드 부분을 누른다. 자신의 컴퓨터에 설치된 운영체제에 맞는 버전을 선택하여 다운로드 한다. 다운로드가 끝나면 파일을 실행하여 설치한다. 인텔리제이 설치하기 검색창에 jetbrains를 입력하고 사이트로 간다. 오른쪽 아래 쿠키 동의를 클릭한 후 가운데 download를 클릭하면 바로 다운로드가 시작된다. 다 받으면 실행해서 기본값으로 설치한다. 인텔리제이 첫.. 더보기