본문 바로가기

코틀린22

코틀린(7) - 클래스 클래스 클래스는 '값'과 그 값을 사용하는 '기능'들을 묶어놓은 것으로 사실 기본 자료형들도 코틀린 내부에서는 모두 클래스로 만들어져있다. 클래스안에 선언된 변수를 '속성'이라하고 함수를 '메소드'라 한다. 클래스를 이용해서 만들어낸 객체를 인스턴트라고 한다. 코틀린은 객체지향 언어를 기반으로 함수형 언어의 장점을 흡수한 실용적인 언어이다. 클래스 사용법 연습1) 메소드없이 클래스 사용 class Person (var name:String, val brithYear:Int) //파라미터값은 클래스의 속성값이다 var a = Person("박보영", 1990) println("안녕하세요, ${a.birthYear}년생 ${a.name}입니다") //중괄호도 사용한다 연습2 ) 메소드사용 class Pers.. 2022. 3. 21.
코틀린(6) - 흐름제어, 논리연산자 흐름제어 기본 프로그래밍 언어와 동일 : return, break, continue 중첩 반복문에서 break나 continue가 적용되는 반복문을 lable통해 지정하는 법 코드가 다음과 같을 때 i가 1이고 j가 2면 모든 반복문을 종료해야 한다고 가정해보자. 고전적인 언어에서는 내부 반복문에서 조건을 체크하여 break를 하더라도 외부 반복문에서 또 다시 조건을 체크하여 모든 반복문을 수동으로 종료해야만 한다. for(i in 1..10){ for (j in 1..10){ if(i==1 && j==2) break //... } // 여기서 한번 더 체크 } 하지만 코틀린에서는 외부 반복문에 레이블 이름과 @ 기호를 달고 break 문에서 @과 레이블 이름을 달아주면 레이블이 달린 반복문을 기준으로 .. 2022. 3. 21.
코틀린(5) - 반복문, 증감연산자 for(i in 'a'..'e') 반복문 조건형 반복문(조건이 참인 경우 반복유지) 기본 프로그래밍 언어와 동일 while, do~while(최초 한 번은 조건없이 do 구문에서 실행 한후 조건검사) 범위형 반복문(반복 범위를 정해 반복을 수행) 범위형 반복문인 for의 사용법은 고전적인 언어들과는 다르다. 최신 언어들이 제공하고 있는 사람이 이해하기 쉬운 형태로 사용할 수 있다. ex1) for(i in0..9) i가 0부터9 이내에서 동작한다는 의미이다. 기본적으로 for문은 값을 1씩 증가 시키며 반복하게 된다. 증가값이 1이 아닌 다른값으로 설정하려면 step옵션을 붙여주면 된다. ex2) for(i in 0..9 step3) 값을 증가가 아닌 감소시킬 때는 ".." 대신에 "downTo"라는 키.. 2022. 3. 17.
코틀린(4) - 조건문, 비교연산자 조건문 기본 프로그래밍 언어와 동일 (if, else) 비교연산자 부등호 기본 프로그래밍 언어와 동일 (= , !=) 등호 기본 프로그래밍 언어와 동일 (==) is연산자, !is (자료형이 맞는지 틀린지 체크하는 연산자) a is Int 좌측 변수가 우측 자료형에 '호환'되는지 여부를 체크하고 형변환까지 한번에 진행시켜주는 똑똑한 연산자이다.(자료형의 호환에 관해서는 '클래스' 파트 참고) 다중 조건문(when) 다른 언어에서 지원하는 switch문을 좀더 편리하게 바꾼 기능이다. if가 참과 거짓만을 비교할 수 있는 반면, when은 하나의 변수를 여러개의 값과 비교할 수 있다는 장점이 있다. Any자료형 : 어떤 자료형이든 상관없이 호환되는 코틀린의 최상위 자료형이다. 예제1) fun dowhen(.. 2022. 3. 17.
코틀린(3) - 타입 추론, 함수 타입추론 변수나 함수들을 선언할 때나, 연산이 이루어 질 때 자료형을 코드에 명시하지 않아도 코틀린이 자동으로 자료형을 추론해주는 기능으로 변수가 선언될 때 할당된 값의 형태로 해당 변수가 어떤 자료형을 가지는지 추론이 가능하기때문에 가능한 것이다. 대부분 선언시 값을 할당만 해준다면 대부분 자료형을 명시할 필요가 없다. 자료형 없이 값을 할당한다면 어떤 자료형으로 지정될까? 일반 정수형 리터럴을 할당하면 Int, L이 붙은 정수형 리터럴은 Long, 일반 실수형 리터럴은 Double, f가 붙은 실수형 리터럴은 Float형으로 추론된다. 추가적으로 16진수와 2진수는 Int으로 추론된다. Boolean과 Char역시 자료형 없이도 추론이 가능하다. 따라서 반드시 특정한 자료형으로 지정해야하는 상황이 아.. 2022. 3. 17.