컴퓨터 언어 83

[Kotlin] 코틀린 스코프 함수 [apply, also, run, let,]

안녕하세요. 훈츠 입니다. 오늘은 스코프 함수에 대해 이야기 해 보겠습니다. 코틀린에서 함수형 언어의 특징을 좀더 쉽게 사용할수 있도록 제공 하는것입니다. 스코프 함수 .{ 변수 혹은 함수 } (apply 참조연산자 없이 사용/ also "it"을 이용) 처리가 끝나면 인스턴스를 반환 합니다. (run 참조연산자 없이 사용 / let "it"을 이용) 처리가 끝나면 최종값을 반환 합니다. with(a){...} run과 완전 동일하며 함수 사용하는 형식 만 다릅니다. 함수형 언어의 특징을 좀더 쉽게 사용하도록 제공 합니다. 인스턴스의 속성이나 함수를 좀더 깔끔하게 사용 가능합니다. apply / also 처리가 끝나면 인스턴스를 반환, apply 는 참조연산자 없이 also 는 it 연산자 사용 clas..

[Kotlin] 코틀린 고차 함수와 람다 함수

안녕하세요. 훈츠 입니다. 오늘은 고차 함수와 람다 함수에 대해 이야기 해 보겠습니다. 고차 함수 함수를 마치 클래스에서 만들어낸 인스턴스 처럼 취급 하는 방법 입니다. 코틀린에서는 모든 함수를 고차함수로 사용 가능 하여, 함수를 파라메터로 넘겨 줄수도 있고, 결과값으로 반환 받을 수도 있습니다. fun main() { b(::a) //고차함수 출력할때 사용 } fun a(string: String){ println("$string 함수 a") } //고차함수 예시 fun b(fc : (String) -> Unit){ //fun b(function : (자료형) -> 반환형 fc("b 가 호출한") } //출력 b 가 호출한 함수 a 함수의 형식(자료형, 자료형...) -> 함수의 반환형 //반환형이 없..

[Kotlin] 코틀린 변수 함수 클래스의 스코프 접근 제한자

안녕하세요. 훈츠 입니다. 오늘은 클래스의 스코프 접근 제한자에 대해 알아 보겠습니다. 스코프 : 범위 같은 스코프내에 동일 변수가 있으면 같은 스코프 변수를 사용 합니다. 하나의 패키지에서 다른 패키지 사용할때 동일 스코프 내에서는 공유 할수 있습니다. 같은 스코프에서 같은 멤버이름을 허용 하지 않습니다. var a = "패키지" fun main() { println(a) var a = "사람" println(a) show() } fun show(){ var a = "인간" println(a) } //출력 화면 패키지 사람 인간 접근 제한자 패키지 스코프 public : 기본값 internal : 같은 모듈 내에서만 접근 가능 private : 같은 파일 내에서만 접근 가능 클래스 스코프 public ..

[Kotlin] 코틀린 클래스 2 상속 & 기능 확장

안녕하세요. 훈츠 입니다. 오늘은 코틀린 클래스 1편에 이어 2편을 이어갈 예정인데요. 아직 클래스에 대해 감이 없으신분들은 다음 글을 한번 읽어보시는게 도움이 될것 같습니다. 이번 시간에는 코틀린에서 어떻게 상속 가능하게 만들고 상속할수 있는지 설명 드리겠습니다. https://rain2002kr.tistory.com/72 [Kotlin] 코틀린 클래스 1 안녕하세요. 훈츠 입니다. 이번 시간에는 객체 지향에서 이야기 하는 클래스에 대해 이야기 해보려고 합니다. 사실 코틀린은 객체 지향 언어 + 함수형 언어의 장점을 흡수한 언어 입니다. 그럼 코틀린에서는 어떤.. rain2002kr.tistory.com 상속 (inheritance) 상속이 필요한 경우와 상속에 관한 내용을 정리 해보자면 다음과 같습니..

[Kotlin] 코틀린 클래스 1

안녕하세요. 훈츠 입니다. 이번 시간에는 객체 지향에서 이야기 하는 클래스에 대해 이야기 해보려고 합니다. 사실 코틀린은 객체 지향 언어 + 함수형 언어의 장점을 흡수한 언어 입니다. 그럼 코틀린에서는 어떤 부분이 다른지 한번 들어가 보시죠. 클래스 구성 속성 : 고유의 값 함수 : 기능 구현 클래스란 값과 함수의 묶음 입니다. 코틀린 클래스 종류 class : 아무 것도 붙이지 않으면 일반 class data class : 앞에 data 를 선언하면 data class가 됩니다. 데이터 클래스의 생성자는 1개 이상의 속성 값을 가져야 합니다. 데이터 클래스의 속성을 선언 할때는 var 또는 val으로 선언 해야합니다. 데이터 클래스는 abstract, open, sealed, inner 를 붙일수 없습..

[Kotlin] 코틀린 코드 흐름제어 및 논리 연산자

안녕하세요. 훈츠 입니다. 오늘은 코드 흐름제어를 위한 키워드 및 논리 연산자에 대해 설명 드리겠습니다. 금일 설명 드릴 항목 입니다. RETURN : 함수를 종료하고 값을 반환 하는 역활을 합니다. BREAK : 주로 반복문 안에서 break 조건문이 참일 경우, 그 즉시 반복문을 종료 합니다. CONTINUE : 주로 반복문 안에서 contiune 조건문이 참일 경우, 그 조건을 건너띄고 다음 조건문을 실행합니다. loop@for lable : 다중 반복문 안에서 @loop@ for lable 조건문이 참일 경우, 그 즉시 반복문을 종료 합니다. 논리 연산자 &&, ||, ! BREAK 와 CONTINUE //BRAEK 문 for (i 1..10) { if(i == 3) break //2까지 찍히고 ..

[Kotiln] 코틀린 반복문과 증감 연산자

안녕하세요. 훈츠 입니다. 오늘은 프로그래밍 할때 아주 많이 사용되는 반복문에 대해 이야기 해보겠습니다. 반복문은 최신 언어들이 제공하는 기능들을 제공하고 있어 조금더 사람이 이해하기 쉽게 되어 있는것 같습니다. 반복문의 종류 조건형 반복문 : while , do whild 범위형 반복문 : for While 문 var a = 0 while(a < 5){ print (a++) //전위 연산자 : 연산후 값 체크 } 출력내용 //0,1,2,3,4 while(a < 5){ print (++a) //후위 연산자 :다음구문에서 사용 } 출력내용 //1,2,3,4,5 a++ 전위 연산자 : 연산후 값 체크, ++a 후위 연산자 :다음구문에서 사용 Do while 문 do{ println (a++) }while (..

[Kotlin] 코틀린의 조건문 및 비교 연산자

안녕하세요. 훈츠 입니다. 오늘은 프로그래밍 할때 아주 많이 사용이 되는 조건문과 비교 연산자에 대해 이야기 해보려고 합니다. IF 문 var a = 7//a 에 7을 할당 if( a > 10 ){ println("a는 10보다 크다.") //조건이 참인 경우 실행 } else { println("a는 10보다 작거나 같다.") //조건이 거짓인 경우 실행 } 비교 연산자 =, != , == if( a = b ) // a가 b보다 같거나 크다면 if( a != b ) // a와 b가 다르다면 if( a == b ) // a와 b가 같다면 is 연산자 와 !is 연산자 var a : Int = 0 if(a is In..

[Kotiln] 타입 추론과 편리한 함수

안녕하세요. 훈츠 입니다. 오늘은 타입 추론과 코틀린에서 편리한 함수에 기능에 대해 설명 드리고자 합니다. 자 그럼 들어가시죠~ 타입 추론 : 대부분은 타입 추론으로 자료형의 생략이 가능해 코드량을 줄일수 있습니다. //자료형 없이 할당 var str = "type test" var a = 1234 var a = 1234L var c =12.45 var d =12.45f ....etc 변수나 함수들을 선언 할때나 연산이 이루어 질때, 자료형을 명시 하지 않아도 코틀린이 자동으로 자료형을 추론해 주는 기능 입니다. 함수 : 특정한 동작을 하거나 원하는 결과값을 연산하는데 사용 합니다. fun add(a:Int, b:Int, c:Int) : Int { //(함수의 인자값 선언) : 리턴 타입 선언 retur..

[Kotiln] 형 변환 과 배열로 자료형 변경 저장법

안녕하세요. 훈츠 입니다. 오늘은 형변환 TypeCasting 과 배열 Array에 대한 설명을 드리겠습니다. 코틀린은 다른 언어와 마찬가지로 기본 자료형을 가지고있습니다. 기본 자료형 숫자형 : Int, short, Long, Double, Float... 문자형 : Char, String 코틀린 에서는 기본 자료형들 간에 형변환 을 할수 있는 형변환 함수를 제공 합니다. 형변환 함수 : type casting function toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble(), toChar() 코틀린은 암시적 형 변환을 지원 하지 않고 명시적 형 변환만 허용 합니다. 변환될 자료형을 개발자가 직접 지정함. 암시적 형변환 : 변수를 할당 할시 ..