분류 전체보기 14

[Kotlin] Pair와 Triple 객체

여러 개의 객체 리턴하기 함수는 보통 1개의 객체를 리턴하지만 2개 이상의 값을 리턴해야 할 때가 있다. 매번 클래스나 배열을 만들어 저장하고 리턴하는 것은 번거롭다. Kotlin은 Pair와 Triple 객체를 기본으로 제공한다. Pair은 두 개의 객체를 저장하는 객체이고, Triple은 3개의 객체를 저장하는 객체이다. Pair와 Triple을 이용하면 간단히 2개 혹은 3개의 객체를 리턴할 수 있다. Pair 사용 방법 val pair1 = Pair("Hello", "World") val pair2 = Pair("Hello", 1234) 안에 들어가는 객체의 클래스 또는 자료형은 달라도 상관없다. 자료형은 생략 가능하지만, 을 통해 명시해줄 수도 있다. Pair 안에 저장된 객체는 first와 s..

Kotlin 2023.01.25

[Kotlin] 열거형(enum) 클래스

상수와 열거형 클래스 enum enum은 Enumeration의 줄임말로, 프로그램에서 상수들을 나열해 놓은 것을 말한다. 값 자체가 의미를 가지고 있을 경우 상수로 정의하면 여러 곳에 사용되더라도 관리하기 편하다. const val Max: Int = 10 const val Min: Int = 1 const 키워드를 이용해 상수를 정의할 수 있지만, 값을 정의하는 형태가 일정하지 않게 된다. 열거형 클래스 enum은 그룹화시킨 상수 값을 나열하여 사용한다. 여기서의 상수 값은 정확히 말하자면 상수 객체이다. enum 사용 방법 enum class Numbers(val number: Int) { Max(10), Min(1); } fun main() { println(Numbers.Max.number) /..

Kotlin 2023.01.25

[Kotlin] class와 object 키워드의 차이

Kotlin에서의 클래스 정의 Kotlin에서는 class 키워드를 사용하여 클래스를 정의한다. class 대신 object 키워드로 클래스를 정의하는 경우가 있다. object 키워드를 사용하면 싱클톤(Singleton) 패턴이 적용되어 객체가 한 번만 생성되도록 해 준다. 또한 익명객체를 생성할 때도 사용된다. object 키워드 사용 예시 interface SpiceColor { var color: String } object YellowSpiceColor : SpiceColor { override var color: String = "Yellow" } 이 떄, YellowSpiceColor.color처럼 직접 변수나 메서드에 접근할 수 있다. YellowSpiceColor 객체는 싱글톤으로 구현되..

Kotlin 2023.01.25

[Kotlin] 클래스와 접근자 메소드(getter/setter)

Kotlin의 클래스 클래스를 사용하는 이유는 내부의 데이터를 캡슐화(Encapsulate)하기 위함이다. 변수(필드)를 이용해 값을 저장하고, 접근자 메서드 getter, setter를 이용해 값에 접근한다. getter는 값을 불러올 수 있고, setter는 값을 다시 지정할 수 있다. JAVA에서는 클래스를 생성하면 변수, 생성자, getter, setter를 모두 선언해주어야 한다. 그러나 코틀린은 클래스와 변수만 선언해도 자동으로 getter, setter를 내부적으로 생성해 준다. * 변수 + 접근자 메서드를 프로퍼티(property)라고 한다. 클래스의 접근 제한자 class Student { //public 접근제한자 var name : String //private 접근제한자 } Kotl..

Kotlin 2023.01.23

[Unity] Design Patterns - 싱글톤 패턴(Singleton)

Singleton Patterns 전체 클래스들이 공유하는 전역변수가 필요할 때 사용한다. 특히, 유니티에서 씬 전환 시 데이터를 유지하고 싶을 때 활용하면 좋다. public 또는 static으로 변수를 선언하거나 유니티의 Inspector에서 드래그 앤 드롭으로 연결한다면 메모리가 낭비되고, 게임 개발이 복잡해진다. 클래스에서 공통적으로 사용하는 전역변수나 리소스, 데이터, 또는 시작과 일시정지처럼 게임 전체를 관장하는 매니저 클래스를 따로 분리해주면 임의의 클래스에서 내가 만든 싱글톤 인스턴스를 언제든 사용할 수 있다. 유니티 싱글톤 패턴 예시 게임의 흐름을 관장하는 GameManager 스크립트를 생성한다. public class GameManager : MonoBehaviour { public ..

[Kotlin] Null 안전성(Null Safety)

자료형에서의 Null 값 자료형에는 빈 값이 들어갈 수 있으며 이를 Null이라고 한다. fun main() { var text : String = "기본 값" text = null //오류 발생 } Java에서는 Null로 인해 발생하는 예외(오류)를 NullPointerException으로 처리할 수 있는 반면, Kotlin에서는 따로 정해진 Null 예외처리가 존재하지 않는다. 따라서 Kotlin의 변수에는 기본적으로 Null값이 들어갈 수 없다. Kotlin에서 변수에 Null 값 넣기 Kotlin에는 Nullable과 Non-Null 타입이 있다. 아래는 Null값을 허용하는 Nullable 타입으로 변수를 선언하는 방법이다. fun main() { var text : String? = "기본 ..

Kotlin 2023.01.17

[Kotlin] 변수(Variable), 자료형(Data type)

Kotlin 시작하기 New → Kotlin File/Class를 클릭하여 새로운 .kt 파일을 만들어준다. fun main() { //이 안에 코드를 작성합니다. } 함수를 선언하기 위해서 fun 키워드를 사용한다. main() 함수는 Kotlin에서 처음으로 작동하는 부분이며, 중괄호 안에 코드를 작성한다. 변수 선언하기 Kotlin에서는 var 키워드를 이용해 변수를 선언할 수 있다. var number = 1 var word = "Hello World!" 아래에서 다룰 자료형은 자동으로 추론을 해 주기 때문에 생략이 가능하다. var 키워드로 선언한 변수는 값을 수정할 수 있다. var number = 1 number = 2023 //수정 가능 변수를 선언할 때 val 키워드를 이용할 수도 있다...

Kotlin 2023.01.17

[Tistory] 구글 검색 등록 (Google Search Console)

티스토리 블로그 구글 검색 등록 티스토리 블로그는 다음(Daum)에서 검색될 수 있도록 자동으로 설정되는 반면, 구글 등 다른 사이트에서는 별도의 설정을 통해 검색 엔진에 노출시켜야 합니다. 구글 서치콘솔에 블로그를 등록하면 구글에서 티스토리 블로그가 검색됩니다. 글이 길어 보이지만 차근차근 따라하면 쉽게 블로그를 구글 검색엔진에 등록할 수 있습니다. 1. 우선 구글 서치콘솔 사이트로 이동합니다. https://search.google.com/search-console/about Google Search Console Search Console 도구와 보고서를 사용하면 사이트의 검색 트래픽 및 실적을 측정하고, 문제를 해결하며, Google 검색결과에서 사이트가 돋보이게 할 수 있습니다. search.g..

Tistory 2022.08.27

[Unity] Busy for... 스크립트 무한 로딩 문제 해결

Unity 스크립트 무한 로딩, 콘솔 여러 개 오류 해결 Opening Visual Studio (busy for ~)... 유니티에서 스크립트를 연 후, 사진처럼 반 정도 차 있는 로딩 창이 계속 나타나 없어지지 않는 현상이 있었다. 다른 부분을 클릭해도 창이 뒤로 없어지지 않기 때문에 화면을 가려 불편했다. 뿐만 아니라 캡쳐하지는 못했지만 콘솔 창에 간단한 텍스트를 출력하는 예제 스크립트 작성 후 Console에서 텍스트가 두 번 출력되는 현상도 같이 나타났다. 찾아보니 컴퓨터의 사용자 이름이 영어가 아닌 한글로 되어 있어 기본 파일 저장 경로에 한글이 포함되기 때문에 나타나는 문제라고 한다. 유니티 허브의 환경 설정에 들어간 후 프로젝트 > 프로젝트 위치에서 기본 위치를 한글 경로가 포함되지 않는 ..