본문 바로가기

Java & Kotlin

(5)
[Kotlin] Kotlin 기본 문법 정리 (1편 - 변수와 상수, 함수 선언, 반복문, 조건문, 자료형, 배열) 1️⃣ 변수와 상수 var는 변수 선언, val는 상수 선언에 이용된다. val는 Java의 final과 동일하여 선언 시에만 값 초기화가 가능하다. 또한 타입 추론또한 지원하기 때문에 자료형을 명시하지 않아도 초기화하는 값으로 타입이 지정된다. var a: Int a = 20 var b: Int = 123 b = 15 val a: Int = 150 📌 null값 사용하기 코틀린에서 null값을 사용하기 위해서는 타입 뒤에 ?를 붙여줘야 한다. Java에서는 NPE로 귀찮은 일이 많았는데 코틀린에서 ?를 지원하기 때문에 좀더 쉽게 null 처리를 할 수 있다. var a: Int? = 10 a = null // 오류 발생 var b: Int? = null // 정상 또한 Swift에서와 같이 Chaini..
[Java] Java의 Collection FrameWork, List - Map - Set, 간단히 보기! Java Collection FrameWork의 기본 구조 Java Collection FrameWork를 사용하는 이유? 많은 수의 데이터를 처리하기 위해서, 가장 기본적인 방법으로 배열을 사용할 수 있다. 그러나 배열은, 크기를 자유롭게 늘릴 수 없으며 삽입, 삭제에 오랜 시간이 걸리기 때문에 이와 같은 일들을 효율적으로 처리하기 위해 동적 배열 개념인 컬렉션 프레임워크가 제공된다. 컬렉션 프레임워크의 종류의 대표격으로 List, Map, Set이 있는데, 이들 인터페이스를 구분하는 가장 큰 차이점은 순서 또는 데이터의 중복 여부이다. 각각의 기능과 장단점을 알아보자. List List는 가장 기본적인 인터페이스로, 각 원소들에 순서가 존재하며 같은 데이터가 중복되어 들어갈 수 있다. 공통적 특징 순..
[Java] Comparable과 Comparator : 비교를 위한 인터페이스 ✳️ Comparable 인터페이스 Comparable은 자기 자신과 매개변수 객체를 비교할 수 있도록 만들어주는 인터페이스이다. 이 인터페이스를 채택하여 구현하면 compareTo메서드를 통하여 객체간에 비교가 가능해진다. ✳️ Comparable 인터페이스와 Comparator 인터페이스 Comparable과 비슷한 기능을 하는 인터페이스로 Comparator가 있다. 둘의 차이점은 다음과 같다. 1) 구현해야 하는 메서드의 차이 Comparable은 compareTo(T o1)을 구현해야 한다. Comparator는 compare(T o1, T o2)를 구현해야 한다. 매개변수가 2개이다. 2) 사용 방법의 차이 Comparable은 자기 자신과 다른 객체를 비교한다. Comparator는 매개변수..
[Java] int, char, String 사이의 형 변환 방법 정리 ✨ String을 int 또는 char로 📌 String → int 1. Integer.parseInt() Integer를 반환 String str = "123"; int intValue = Integer.parseInt(str); System.out.println(intValue); // 123 2. Integer.valueOf() Int를 반환 String str = "123"; int intValue = Integer.valueOf(str).intValue(); System.out.println(intValue); // 123 📌 String → char 1. String.charAt() 이 메서드는 특정 인덱스의 문자를 char로 반환한다. String a = "string"; char b = a..
[Java] Java의 난수 생성법 2가지 난수 생성법 2가지 Math.random() 이용 아래와 같이 Math.random은 0~1.0 사이의 double을 반환하기 때문에 (int)를 취하고 있다. (int)를 하게 되면 소수점 이하 숫자들은 버림으로 처리된다. 따라서 형 변환 이전에 곱셈을 해줘야 한다. int attackValue = (int) (1 + Math.random() * 5); // 1~5 사이 정수 반환 int healValue = (int) (1 + Math.random() * 3); // 1~3 사이 정수 반환 아래와 같이 확률을 구현할 수도 있다. 3:7의 비율로 조건을 처리해 준 모습이다. int attackValue = (int) (Math.random() * 10); if (attackValue >= 7) { re..