본문 바로가기

Do it 코틀린 프로그래밍19

코틀린 클래스와 객체의 정의 코틀린은 함수형 프로그래밍과 더불어 객체 지향 프로그래밍 기법을 지원합니다. 객제 지향 프로그래밍 기법 개념 추상화 : 특정 클래스를 만들 때 기본 형식을 규정하는 방법 인스턴스 : 클래스로부터 생성한 객체 상속 : 부모 클래스의 내용을 자식 클래스가 그대로 물려받음 다형성 : 하나의 이름으로 다양한 처리를 제공 캡슐화 : 내용을 숨기고 필요한 부분만 사용 메시지 전송 : 객체 간에 주고받는 메세지 연관 : 클래스 간의 관계 객체 지향 프로그래밍의 용어 정리 코틀린에서 사용하는 언어 다른 언어에서 사용하는 언어 클래스(Class) 분류, 범주 프로퍼티(Property) 속성(Attribute), 변수(Variable), 필드(field), 데이터(data) 메서드(Method) 함수(Function), .. 2020. 8. 18.
코틀린 흐름 중단과 변환 흐름 제어문 ● return : 함수의 결과값을 반환하거나 지정된 라벨로 이동한다. ● break : 반복문을 끝낸다. ● continue : 반복문을 모두 수행하지 않고 다시 조건식으로 넘어간다. 예외 처리문 ● try{ ... } catch{ ... } : try 블록의 본문을 수행하는 도중 예외가 발생하면 catch 블록의 본문을 실행한다. ● try{ ... } catch{ ... } finally{ ... } : 예외가 발생하여도 finally 블록 본문은 항상 실행한다. return으로 Unit 반환하기 Unit은 반환 값이 없는 경우 사용하는 자바의 void와 비슷합니다. 다만 코틀린에서는 Unit이란 반환하는 값이 아예 없는 뜻이 아니라 Unit이라는 자료형 자체를 반환합니다. fun he.. 2020. 5. 23.
코틀린 반복문( for, while, do while ) 반복문은 반복문 블록 안에 잇는 코드를 반복하여 실행하는 명령문입니다. Java for(int i=1; i 2020. 5. 22.
코틀린 조건문 ( if~else, when ) if문과 if~else문 if (조건식) { 수행할 문장 // 조건식이 true인 경우에만 실행 } else { 수행할 문장 // 조건식이 false인 경우에 실행 } fun main(){ val a=10 val b=20 var max : Int if(a>b) { max = a }else{ max=b } }// main().. 위 조건문을 변수에 할당하여 한 줄에 구성할 수 있습니다. fun main(){ val a=10 val b=20 var max= if(a>b) a else b }// main().. 만약 조건문 표현식이 길어지면 중괄호로 감싸야합니다. fun main(){ val a=10 val b=20 var max= if(a>b){ println("a 선택") a // 블록의 마지막 표현식이 .. 2020. 5. 19.
코틀린 함수형 프로그래밍( 람다식 ) 코틀린은 함수형 프로그래밍( FP )과 객체 지향 프로그래밍( OOP )을 모두 지원하는 다중 패러다임 언어입니다. 일급 객체 특징 ● 일급 객체는 함수의 인자로 전달할 수 있다. ● 일급 객체는 함수의 반환 값에 사용할 수 있다. ● 일급 객체는 변수에 담을 수 있다. 람다식은 일급 객체의 특징을 가진 이름 없는 함수입니다. 람다식 인자, 매개 변수를 이용한 람다식 함수 작성 fun main() { println(highFunc({x,y -> x+y},10,20)) // 람다식 함수를 인자로 넘김 } fun highFunc(sum: (Int,Int) -> Int, a:Int, b:Int):Int = sum(a,b) // sum 매개변수는 함수 매개변수 highFunc()의 매개 변수로 (함수, 변수, .. 2020. 5. 18.
코틀린 함수 (선언, 간략화, 매개변수 default값) 함수 정의 fun 함수 이름(변수 이름: 자료형): 반환 자료형{ var sum= a+b return sum } 덧셈 함수 정의하기 fun sum(a:Int, b:Int): Int{ var sum= a+b return sum } 함수 간략화 위 덧셈 함수를 간략화하겠습니다. 1) 매개변수를 바로 반환 값에 사용할 수 있습니다. fun sum(a:Int, b:Int): Int{ return a+b } 2) 중괄호{} 안의 코드가 한 줄이면 중괄호와 return문을 생략할 수 있습니다. 그리고 return문을 =로 대신 사용합니다. fun sum(a:Int, b:Int): Int{ return a+b } fun sum(a:Int, b:Int): Int = a+b 3) 반환 값의 자료형도 생략할 수 있습니다... 2020. 5. 13.
코틀린 변수 null 허용 및 세이프 콜, 엘비스 연산자 코틀린은 변수를 사용할 때 반드시 값이 할당되어 있어야 한다는 원칙이 있습니다. 그리고 만약 null 상태인 변수를 허용하려면 물음표(?) 기호를 사용해 선언해야 합니다. package com.example.ex_kt_01 fun main() { var str1: String ="Hello Kotlin" println(str1) // Hello Kotlin } 이제 null을 대입하겠습니다. ( 에러!! ) null을 사용하려면 String 뒤에 물음표(?) 기호를 사용합니다. ※ String과 String?이 서로 다른 자료형이라는 것을 기억하세요. 세이프 콜(?.)과 엘비스(?:) 연산자를 활용해 null을 허용한 변수 더 안전하게 사용하기 위 코드는 str1에 값이 있다면 length 접근해 길이를.. 2020. 5. 12.
안드로이드 스튜디오(Android Studio)로 코틀린 문법 연습하는 방법 C 언어를 공부할 경우 Tool로 Visual Studio를 사용합니다. 안드로이드 앱 공부를 할 경우 Android Studio를 사용합니다. Kotlin을 공부하고 연습할 경우 Open JDK, Oracle JDK 등이 필요하며, 만약 Adroid Studio가 있시다면 바로 코틀린 문법을 실행하실 수 있습니다. ( Kotlin 문법을 공부하려는데, 또 다른 것을 설치하기 귀찮습니다.) 1. 새로운 프로젝트를 만듭니다. (아무거나 상관없습니다. 새로 Kotlin 파일을 만들 것이기 때문에) 2. Language를 Kotlin으로 선택합니다. 3. 새로 Kotlin File을 만듭니다. 4. 이름은 임의로 작성했습니다. 5. 새로운 코틀린 파일에 문법을 연습할 수 있습니다. 6. 실행하기 [ 단축키 :.. 2020. 5. 11.
코틀린 프로젝트 구조 및 변수와 자료형, 연산자 코틀린 프로젝트 구조 프로젝트(Project)는 모듈(Module), 패키지(Package), 파일(File)로 구성되어 있습니다. 프로젝트와 모듈의 관계는 대규모 프로젝트를 진행할 경우 기능을 모듈로 분리하여 관리합니다. 아래 사진을 참고한다면 기능이 2개 있는 것입니다. (모듈 1, 모듈 2 ) ※ 패키지 이름을 선언하지 않은 패키지를 default 패키지로 분류되며, src 폴더에 위치합니다. 패키지를 만들어야 하는 이유 여러 프로그래머가 같이 프로젝트를 진행하다가 같은 이름의 파일을 만들었다고 가정해봅니다. 그러면 오류가 발생하는데, 패키지가 다르다면 오류가 발생하지 않습니다. 기본 패키지 변수 선언 val, var 라는 키워드를 이용하여 선언합니다. val로 변수를 선언하면 최초로 지정한 변수의.. 2020. 5. 9.