일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spring
- js
- 구글로그인
- SQL
- MSA
- 자바 스트림
- Leetcode
- pygame
- 자바스크립트
- oauth2
- 오라클
- LeetCode SQL
- 스프링시큐리티
- java8
- javascript
- 스프링부트
- 프로그래머스
- springboot
- 자바8
- SQL 문제풀이
- 스프링부트 채팅서버
- 스프링
- spring boot
- oracle
- SQL프로그래머스
- 파이게임
- mysql
- 코틀린 클래스
- python
- kotlin 클래스
- Today
- Total
목록코틀린 (11)
웅겹살의 프로그래밍 삼매경
상속이 필요한 경우는 두 가지 이미 존재하는 클래스를 상속하여 새로운 클래스를 생성 여러개의의 클래스가 존재하는데 클래스들의 공통점을 뽑아 코드관리를 편하게 하기 위해 코틀린은 상속 금지가 기본값 fun main() { var a = Animal("티몬", 3, "댕댕이") var b = Dog("티몬", 3) // a와 b 같은결과 확인 가능 a.introduction() b.introduction() b.bark() var c = Cat("품바", 2) c.introduction() c.meow() } // 코틀린은 상속 금지가 기본값 // open은 클래스가 상속될 수 있도록 하는 키워드 open class Animal(var name:String, var age:Int, var type:Strin..
생성자란? 새로운 인스턴스를 만들기 위해 호출하는 특수한 함수 생성자를 호출하면 클래스의 인스턴스를 만들어 반환받을 수 있다 생성자의 기능? 인스턴스의 속성을 초기화 인스턴스 생성시 구문을 init함수를 통해 수행 가능 init 함수는 파라미터나 반환형이 없는 특수한 함수, 생성자를 통해 인스턴스가 만들어 질 때 호출되는 함수 fun main() { // 인스턴스 생성 var a = Person("방실이", 1966) var b = Person("나훈아", 1988) var c = Person("임영웅", 1991) } class Person(var name:String, val birthYear:Int){ // init함수 init { println("안녕하세요, ${this.birthYear}년생 $..
클래스는 값과 그 값을 사용하는 기능들을 묶어놓은 것 클래스는 인스턴스를 만드는 틀이라는 점을 이해해야한다 인스턴스란 클래스를 이용해서 만들어 내는 서로 다른 속성의 객체를 지칭하는 용어 fun main() { // 인스턴스 생성 var a = Person("방실이", 1966) var b = Person("나훈아", 1988) var c = Person("임영웅", 1991) a.introDuction() b.introDuction() c.introDuction() } // 클래스의 속성들을 선언함과 동시에 생성자 역시 선언하는 방법 class Person(var name:String, val birthYear:Int){ fun introDuction(){ println("안녕하세요, ${birthYe..
반복문은 크게 두가지 형태 조건형 반복문 - 조건이 참인 경우 반복을 유지 범위형 반복문 - 반복 범위를 정해 반복을 수행 1. 조건형 반복문 while fun main() { var a = 0 while(a < 5){ println(a++) } } // 출력 0 1 2 3 4 do...while fun main() { var a = 0 // 최초 한번은 조건없이 do에서 구분을 실행 후 while로 조건을 체크 // 조건과 관계없이 반드시 한번은 실행해야한다면 do..while문이 좋음 do { println(a++) }while(a < 5) } 2. 범위형 반복문 for fun main() { // 0부터 9까지 실행 for(i in 0..9){ print(i)// 0123456789 } } fun ..
분기를 만드는 조건문 if fun main() { var a = 5 if(a println("정수 1이다") "Leo" -> pri..
함수는 특정한 동작을 하거나 원하는 결과값을 연산하는데 사용 코틀린 함수는 내부적으로 기능을 가진 형태이지만 외부에서 볼 때는 파라미터를 넣는다는 점 외에는 자료형이 결정된 변수라는 개념으로 접근하는 것이 좋다 fun main() { println(add(1,2,3))// 6 } fun add(a:Int, b:Int, c:Int): Int{ // 함수가 받아야할 값 a,b,c 후에 반환 값 자료형 // 반환형은 반환값이 없다면 생략 가능 return a+b+c } // add함수는 단순히 a+b+c기능한 하는 함수여서 // 단일 표현식 함수로 사용가능 fun add(a: Int, b: Int, c: Int) = a + b + c
fun main() { var intArr = arrayOf(1,2,3,4,5) // arrayOf 함수를 통해 배열에 저장할 값을 선언 var nullArr = arrayOfNulls(5) // 비어있는 배열을 만들고 싶다면 arrayOfNulls 함수에 크기 지정. 제너릭안에는 배열에 할당할 자료형 지정 intArr[2] = 8 // 해당위치(2번)에 값 할당 가능 println(intArr[2]) // 8 } 배열은 처음 선언했을 때의 전체크기를 변경할 수 없는 단점이 있지만 한 번 선언을 해두면 다른 자료구조보다 빠른 입출력이 가능한 장점이 있다
정수형 Byte 8bits Short 16bits Int 32bits Long 64bits 정수형의 리터럴 fun main() { // 10진수 16진수 2진수로 표기 가능 var intValue:Int = 1234 // 10진수 기본형 숫자만 표기 var longValue:Long = 1234L // 64비트인 Long타입의 10진수는 숫자 뒤에 L을 붙여 더 큰 메모리를 사용하는 정수임을 표시해야함 var intValueByHex:Int = 0x1af // 16진수의 경우 0x를 앞에 붙이면 된다 var intValueByBin:Int = 0b10110110 // 2진수의 경우 0b를 앞에 붙이면 된다 } 실수형 Float 32bits Double 64bits 실수형의 리터럴 fun main() { ..
코틀린은 변수를 두가지 방법으로 선언한다 var 일반적으로 통용되는 변수, 언제든지 읽기 쓰기가 가능 val 선언시에만 초기화 가능, 중간에 값 변경 불가능 변수는 선언위치에 따라 두 가지 이름으로 불린다 클레스에 선언된 변수 ? Property(속성) 이 외의 Scope 내에 선언된 변수 ? Local Variable(로컬변수) nullable 변수(null 허용) fun main() { var a: Int? = null }