profile
머리에 다 안들어가서 글로 적는 중

Spring, @OneToOne 관계와 지연로딩

잘못된 설계에서 비롯된 문제이지만 기존 Java-Spring프로젝트를 Kotlin-String으로 이주하면서 @OneToOne 관계에서 지연 로딩기능이 동작하지 않는 문제가 생겼다.하여 오늘은 관련 내용을 공부했다이유는 다음과 같다.JPA는 객체의 참조가 프록시 기반으

2021년 9월 8일
·
0개의 댓글

Spring, JPA에 기본 생성자가 필요한 이유

인프런에서 김영한님의 강의를 들으면서 “JPA의 Entity객체에는 기본 생성자가 있어야 한다” 라는 말을 들은적이 있다.왜 그런 걸까? 알아보도록 하자.위의 이유를 알기 위해서는 먼저 java Reflection를 알아야 한다.구체적인 클래스 타입을 알지 못해도, 그

2021년 9월 8일
·
0개의 댓글

Kotlin, 코루틴과 비동기처리

import kotlinx.coroutines.\*반환 값이 있는지의 차이이다.launch: 반환 값이 없는 Job 객체async: 반환 값이 있는 Deffered 객체둘다 람다 함수 형태를 가지고 있다

2021년 8월 16일
·
0개의 댓글

Kotlin, 변수의 다양한 사용법

Kotlin은 변수 선언시 초기화를 하지 않으면 컴파일이 되지 않는다.하지만 경우에 따라 초기화를 늦게 해야하는 경우도 생긴다.이렇게 변수를 늦게 초기화 해주기 위한 키워드가 'lateinit'이다단, 기본 자료형에는 사용할 수 없다는 제한이 있다초기와 되었는지는 ::

2021년 8월 16일
·
0개의 댓글

Kotlin, 컬렉션 함수

일반 함수 또는 람다 함수 형태를 사용하여 for 문 없이도 아이템을 순회하며 참조하거나 조건을 걸고 구조의 변경까지 가능한 여러가지 함수를 지칭한다.예시를 통해 알아보자그 외에도 Collection.associateBy { it.key(키로 사용할 속성) }: 아이템

2021년 8월 16일
·
0개의 댓글

Kotlin, Data 클래스와 Enum 클래스

데이터를 다루는데 최적화된 클래스로 아래 기능을 자동으로 생성해준다equals() : 내용의 동일성을 판단hashcode() : 객체 내용에서 고유한 코드를 생성하는 함수toString()copy()ComponentX() : 속성을 순서대로 반환하는 함수. X에 번호를

2021년 8월 16일
·
0개의 댓글

Kotlin, 중첩 클래스와 내부 클래스

형태만 내부에 존재할 뿐 외부 클래스의 내용을 공유 할 수 없는 별개의 클래스외부 클래스 객체 안에서 사용되는 클래스이기 때문에 외부 클래스의 내용을 사용 할 수 있다.혼자서 객체를 만들 수 없고 외부 클래스의 객체가 있어야만 사용가능하다.

2021년 8월 16일
·
0개의 댓글

Kotlin, 함수의 이런저런 기능들

함수에 전달되는 파라미터의 갯수가 가변적일 때 사용하는 기능다른 파라미터와 함께 사용할때는 반드시 가장 마지막에 위치해야 한다.함수를 마치 연산자처럼 사용 할 수 있는 기능

2021년 8월 16일
·
0개의 댓글

Kotlin, nullable 변수의 null처리

코틀린에서는 null을 허용하는 nullabl 변수가 별도로 존재한다.이런 변수들을 일일히 if로 체크해서 로직을 하는건 아름답지 못할 수 있다.다른 방법으로 null을 처리하는 방법을 알아보자.null을 처리하는 방법은 아래와 같이 몇가지가 있다?. (null saf

2021년 8월 16일
·
0개의 댓글

Kotlin, 리스트와 문자열

Kotlin에서 List는 두가지가 존재한다.List < out T >: 생성시 넣은 객체를 추가, 삭제 할 수 없음MutableList< T >: 생성시 넣은 객체를 추가, 삭제 할 수 있음mutableList는 'add', 'shuffle', 'remov

2021년 8월 16일
·
0개의 댓글

Kotlin, 제너릭

클래스나 함수에서 사용하는 자료형을 외부에서 지정할 수 있는 기능.템플릿과 같은 기능.일반적으로는 타입 파라미터의 이름은 Type의 T를 사용하는 것이 관례이다.제너릭을 사용하면 타입 케스팅없이 실행되기 때문에 성능 관점에서 유리하다.

2021년 8월 16일
·
0개의 댓글

Kotlin, 옵저버 패턴 구현 +

옵저버 패턴은 이벤트를 기반으로 동작하는 모든 코드에서 광범위하게 쓰이므로 구조를 이해하는 것이 중요합니다.

2021년 8월 15일
·
0개의 댓글
post-thumbnail

Kotlin, Object

기존에 클래스의 함수나 맴버변수를 사용하기 위해서는 실제로 해당 클래스를 인스턴스로 만들어 주어야 했다.하지만 인스턴스를 만들지 않고 함수나 맴버변수들을 여기저기서 사용할 수 있도록 지원하는(Singleton) Kotlin의 기능이 Object 이다.Object는 최초

2021년 8월 15일
·
0개의 댓글

Kotlin, 스코프 함수

함수형 언어의 특징을 좀 더 쉽게 사용하기 위해 기본 제공하는 함수들이다.클래스의 인스턴스를 스코프함수로 전달하면 인스턴스의 속성이나 함수를 좀 더 깔끔하게 사용할 수 있다.스코프 함수에는 applyrunwithalsolet 등의 함수들이 존재한다.인스턴스를 생성 한

2021년 8월 15일
·
0개의 댓글

Kotlin, 고차함수와 람다함수

함수를 마치 클래스에서 만들어 낸 '인스턴스'처럼 취급하는 방법.함수를 파라미터로 전달 할 수 있도 물론 반환 값도 받을 수 있다.함수를 파라미터로 전달 할 때에는 ':: + 함수명'의 형태로 전달한다.b함수에 파라미터로 전달된 '::a'는 함수 a가 파라미터로 전달되

2021년 8월 13일
·
0개의 댓글

Kotlin, 오버라이딩과 추상화 그리고 인터페이스

클래스를 상속받아서 구현할 때, 슈퍼 클래스에 구현되어있는 매서드를 서브 클래스가 재정의하여 구현하는 기능이다.클래스를 상속할때와 마찬가지로 매서드에 'open'키워드를 붙여야한다.오버라이딩하는 매서드에는 'override'키워드를 붙여 재구현하면 된다.슈퍼 클래스에서

2021년 8월 13일
·
0개의 댓글

Kotlin, 클래스의 기본

일반적으로 반복문에서 break와 continue를 사용하는 것은 다른 언어와 같다.한가지 특이한 기능을 소개하면만약 2중 반복문에서 특정 조건에 도달했을 때 2중 반복문을 한번에 빠져나오려면 어떻게 해야할까?Kotlin에서는 다음과 같이 하면 된다.'@+레이블'을 통

2021년 8월 11일
·
0개의 댓글

Kotlin, 반복문과 흐름제어

while문과 do-while이 있다.while()안의 조건이 참이면 해당 반복문이 실행된다.do-while문은 조건과 상관 없이 일단 반복문이 한 번 실행된 후 조건을 확인한다.대표적으로 for문이 있다.증가하는 숫자를 달리 하고 싶을 때는 for문 안에 'step'

2021년 8월 11일
·
0개의 댓글

Kotlin, 조건문과 비교 연산자

java 와 같다.is 연산자!is 연산자ex) a is Int // a가 Int형 변수인지 확인 다른 언어에서 switch에 해당하는 기능이다.조건들을 검사하며 첫번째로 부합하는 조건에 해당하는 코드를 실행하고 when함수는 종료된다.등호나 부등호의 사용은 불가능 하

2021년 8월 10일
·
0개의 댓글

Kotlin, 타입 추론과 함수

타입 추론이란 자료형을 코드에 명시하지 않아도 연산할 때 자동으로 자료형을 추론해주는 기능.변수를 초기화 할 때, 할당되는 값을 보고 자동으로 값을 추론하여준다.대부분은 타입추론기능을 사용하여 코드양을 줄일 수 있다!함수는 아래와 같이 선언하고 사용 할 수 있다.함수의

2021년 8월 10일
·
0개의 댓글