고차 함수 사용 고차 함수란 함수의 인자에 함수를 사용할 수 있고 함수의 반환 값에 함수를 사용할 수 있다고 했다. 간단한 코드를 통해서 어떻게 사용되는지 알아봄. 먼저 람다식 함수 형태가 아닌 일반 함수를 인자로 넘기고 리턴 값을 함수로 넘기는 방법을 알아본 후에 점차 생략하는 방법 등을 알아가 보는 게 이해하기가 쉽다. 그런데 나는 개인적으로 생략이 가능해도 필요 이상으로 생략하는 것은 오히려 가독성면에서 더 안 좋은 것 같다고 생각한다. 인자에 일반 함수를 사용 fun main() { val res1 = sum(3, 2) //일반 인자 val res2 = mul(sum(3, 3), 3) //인자에 함수를 사용 println("res1: $res1, res2: $res2") } fun sum(a: I..
코틀린은 객체지향 프로그래밍과 함수형 프로그래밍이 가능한 다중 패러다임 언어이다. 다중 패러다임 프로그래밍 언어(multiparadigm programming language)는 하나 이상의 프로그래밍 패러다임을 지원하는 프로그래밍 언어이다. 이것은 비야네 스트롭스트룹이 설명하는, “하나 이상의 프로그래밍 스타일을 따르는 프로그램”을 허용한다. 이런 언어들의 설계 목표는 모든 문제를 가장 쉽고 효율적으로 풀 수 있는 하나의 패러다임은 없다는 것을 인정하고, 프로그래머가 자신의 일에 가장 적합한 것을 사용할 수 있게 하는 것이다. - 출처 위키백과- 함수형 프로그래밍이라고 하면 순수 함수를 사용하여 프로그램의 부작용(side effect)를 줄이는 프로그램 기법을 말한다. 그리고 함수형 프로그래밍에서는 람..
코틀린 함수 정의 fun sum(a: Int, b: Int): Int { var sum = a + b return sum } fun 함수 이름([변수 이름: 자료형, 변수 이름: 자료형..]): [반환값 자료형] { //본문 표현식... [return 반환값] } 모든 함수는 fun 키워드로 시작한다. 그 다음에 함수의 이름이 나온다. 함수에 매개변수를 선언할 수 있다. 위의 코드에서는 Int형을 2개 받는 sum 함수이다. 그다음에 콜론(:) 으로 반환값의 자료형을 명시한다. 그 다음 함수의 본문을 중괄호 ({}) 를 사용해서 작성한다. 함수의 본문에서 어떤 기능을 수행하고 값을 반환할 때는 return 키워드를 사용한다. 밑에 작성방법중 대괄호([])는 생략할 수 있는 내용이다. 간단하게 위에서 선언..
[Kotlin] 변수와 자료형 (2) 까지 갈 생각은 없었으나 좀 길어질 것 같아서 나눴다. 지금 작성하려는 부분이 코틀린에서 자랑(?) 하는 nullable에 관한 이야기인 것 같아서이다. 코틀린을 구글에 검색해봐도 항상 나오는 이야기가 NullPointerException(NPE) 에 대한 예외를 예방할 수 있다는 장점이 있다. 프로그래머라면 NPE 오류는 한번 쯤은 겪어봤을 만한 이야기이다. 코틀린에서는 아예 이런 오류를 미리 방지할 수 있다. null을 허용한 변수 검사 코틀린은 변수를 사용할 때 반드시 값이 할당되어 있어야 한다는 원칙이 있다. 만약 값이 할당되지 않은 변수를 사용하려고하면 컴파일 오류가 발생한다. 코틀린에서도 값에 null을 할당할 수는 있지만 특별한 기호를 사용해야 한다. 바..
이 글은 그동안 자바만 공부했던 내가 코틀린 기본서를 읽으면서 자바와의 다른 점과 코틀린에 대해서 알게 된 점에 대해서 작성 즉 전체를 아우르지는 않는다.. 나만 알아보게 쓴다는 말임..ㅠㅠ_ㅠ 목표 변수 선언 방법 val과 var의 차이 자료형 (정수형, 문자형) 자료형 검사 is 연산자 코틀린에서 변수 선언하기 코틀린에서 변수를 선언할 때는 val, var라는 키워드를 이용해서 선언할 수 있다. val과 var이 차이점 val - 읽기 전용 변수로 선언 마치 자바에서 final로 선언한 것과 같다. 선언과 동시에 값을 초기화 해야하고 그 이후에 바꿀 수 없다. var - 최초에 값이 할당되었더라도 이후에 값을 변경할 수 있다. 가변 변수 선언 방법 val username: String = "코틀린" ..
목차 프롤로그_ 세 번째 제자의 유서 깊은 가게 1. 가게 대성황의 날 2. 한밤의 연애지침서 3. 예지몽 4. 트라우마 환불 요청 5. 꿈 제작자 정기총회 6. 이달의 베스트셀러 7. Yesterday와 벤젠고리 8. 체험판 출시: 타인의 삶 9. 익명의 손님께서 당신에게 보낸 꿈 에필로그 1 에필로그 2 자기 계발서나 기술서 말고도 소설을 많이 읽으려고 한다. 책 안에 지식을 머릿속에 넣어야 할 것 같은 기술서나 읽으면서 무언가 해야 될 것 같고 자기 계발서는 조금 피곤해지기 마련인데 소설은 그와는 다르게 재미있게 읽히고 직접 그 안에 들어가서 노는 듯한 느낌이 들기 때문이다. 달러구트 꿈 백화점은 책 표지에 나와있는 것처럼 잠들어야만 입장이 가능한 신비롭고 몽환적인 마을에 있는 백화점이다. 주인공인..
작성하다가 보니 시간 변경과 비교하는걸 안 한 거 같아서 여기에 다시 작성함. 시간을 더하거나 빼는 것은 1편에서 plus** 또는 minus** 로 할 수 있음. 시간을 변경할 때는 with** 메서드로 변경할 수 있다. 시간 변경 private static void modifyDate() { LocalTime localTime = LocalTime.of(1, 15, 30) .withHour(1) //시간 변경 .withMinute(10) //분 변경 .withSecond(25) //초 변경 .withNano(100); //나노초 변경 System.out.println("localTime = " + localTime); LocalDate localDate = LocalDate.of(2021, 3, 25..
2021.03.25 - [Java] - JAVA8 java.time 훑어보기 - (1) 지난번에 이어 이번에는 날짜와 시간을 비교하고 간격을 나타낼때 사용하는 클래스와 날짜를 포매팅하는 방법에 대해서 작성 시간 간격을 알기 위해서는 Duration과 Period를 사용할 수 있는데 Duration을 시간 간격을 Period는 날짜 간격을 구할 때 사용한다. Duration Duration은 두 시간 객체사이의 간격을 알고싶을 때 사용한다. between 정적 메서드를 사용한다. private static void DurationPrint() { LocalTime startTime = LocalTime.of(15, 42); LocalTime endTime = LocalTime.of(16, 42); Dura..
- Total
- Today
- Yesterday
- 베리 심플
- Github Status
- input
- k8s
- mybatis
- 북리뷰
- Spring Security
- svn
- oracle
- elasticsearch
- Linux
- Bash tab
- localtime
- jQuery
- Mac
- JavaScript
- maven
- LocalDateTime
- Kotlin
- Java
- mybatis config
- intellij
- config-location
- springboot
- rocky
- docker
- Spring
- LocalDate
- window
- 오라클
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |