자바에서 final? final로 선언된 변수는 값을 초기화만 가능, 변경 불가 static? static이 선언된 변수는 클래스의 모든 객체가 공유 가능, 클래스 변수라고도 합니다. new로 클래스 객체생성 없이 호출가능 (호출방법 = '클래스 이름' . '변수') final static double PI = 3.14; 코틀린에서 const val PI: Double= 3.14 코틀린에서 요구 사항 최상위 또는 member of an object 선언 또는 Companion Objects 형태의 값 String또는 원시적 형으로 초기화된다. getter 없음 위 코드를 이해하기 위해서는 아래 코틀린 문법이 필수입니다. 2019/05/19 - [Kotlin] - 코틀린 기초 문법) 1. 코틀린 변수 정의하기
오버로딩(Overloading)? 메서드(함수) 이름을 고정으로 하고 매개변수 만 다르게 함으로써 메서드를 여러개 만드는 것 자바에서 오버로딩 public class OverloadingClass { void ex(){} void ex(int x){} void ex(int x, int y){} void ex(int x, int y, int z){} void ex(String str){} void ex(String str, int x){} /* *. *.. *... *.... *..... */ } 코틀린에서 오버로딩 class OverloadingClass() { fun ex() {} fun ex(x: Int, y: Int) {} fun ex(x: Int, y: Int, z: Int) {} fun ex(s..
자바에서는 String str = null; 코틀린에서는 var str: String? = null var x: Int? = null 코틀린에서는 기본적으로 Argument(인자)는 null 값을 가질 수 없습니다. 그렇기 때문에 타입 뒤에 ?(물음표)를 이용하여 null 값을 사용가능하게 합니다. 코틀린에서 타입 뒤에 오는 ?(물음표는) nullable라는 뜻을 가집니다. //?(물음표) 제거도 한번 해보세요. var str: String? = null fun main(args: Array) { println(str) println(returnNull(null)) } fun returnNull(sNull: String?) = sNull 결과 null null 위 코드를 이해하기 위해서는 아래 코틀린 문..
변수 정의방법 (var or val) 변수명 : 타입(생략가능) = 초기화 [] [] getter 및 setter은 선택 사항입니다. 참고로 코틀린은 세미콜론이 필요없습니다. // val(value) 자바 final 처럼 수정이 불가능함 읽기만 가능 val valIntA: Int = 1 val valIntB = 2 val valStr1: String = "valStr1" val valStr2 = "valStr2" // var(variable) 수정이 가능한 변수 var varIntA: Int = -1 var varIntB = -2 var varStr1: String = "varStr1" var varStr2: String = "varStr2" // getter, setter var name: String..
1. 이클립스를 킨다. 2. 이클립스 상단 메뉴 Help > Eclipse Marketplace 클릭! 3. 코틀린 검색 후 설치 4.우측 추가버튼을 눌러 Open Perspective 팝업창에서 코틀린 선택 5.프로젝트 생성 후 src 폴더에 코틀린 파일 생성후 코딩 스타트~ 자바 방식 public class HelloKotlin { public static void main(String[] args) { System.out.println("Hello, Java!"); } } 코틀린 방식 fun main(args: Array) { println("Hello, Kotlin!") } 자바에서는 메소드가 다 클래스안에 속해야하는데 코틀린은 클래스가 없습니다. 그 이유가 궁금하시다면 여기를 클릭해주세요.
1편 스레드 객체생성 및 실행 2편 스레드 우선순위와 객체공유 및 동기화 3편 스레드 상태 및 제어 스레드 상태확인은 스레드 클래스에 있는 getState() 메소드를 사용하면 Thread.State 열거 상수를 리턴한다. 순서는 객체생성 > 실행대기 > 일시정지 > 실행대기 > 종료 순으로 상태가 변한다. package test; import java.lang.Thread.State; public class Ex2 { public static void main(String[] args) { /* * 상태열거상수 설명 * 객체생성NEWstart()메소드가 호출되지 않은 상태 * 실행대기RUNNABLE실행 상태로 언제든지 갈 수 있는 상태 * * 일시정지WAITING다른 스레드가 통지할 떄까지 기다리는 상..
1편 스레드 객체생성 및 실행2편 스레드 우선순위와 객체공유 및 동기화3편 스레드 상태 및 제어 =============알아두기싱글코어 cpu를 이용한 멀티스레드 작업은 스레드가 번갈아가며 실행하는 동시성이라 하고멀티코어 cpu에서 개별스레드를 동시에 작업하는것을 병렬성이라한다.============= 스레드 우선순위란?스레드 스케줄링에 의해 스레드들이 짦은 시간에 번갈아가면서 run()메소드를 조금씩 실행하는데 우선순위 설정으로 높은 우선순위가 낮은 우선순위 스레드보다 실행 상태를 더 많이 가지도록 스케줄링하는 것을 말한다.우선순위는 1부터 10까지 있으며 1이 가장 우선순위가 낮고 기본적으로 따로 설정이 없으면 5로 설정이된다. package test; public class Ex2 { public ..
1편 스레드 객체생성 및 실행2편 스레드 우선순위와 객체공유 및 동기화3편 스레드 상태 및 제어 =============알아두기스레드란 한가지 작업을 실행하기 위해 순차적으로 실행할 코드를 실처럼 이어 놓았다고 해서 유래된 이름이다.============= 스레드 객체생성 및 사용방법 package test; public class Ex1 { public static void main(String[] args) { /* * Runnable은 스레드가 실행할 수 있는 코드를 가지고있는 객체고 * 인터페이스타입이라 구현 객체를 만들어 대입해야한다. * run()메소드가 정의되어있어 재정의해 스레드가 실행할 코드를 작성한다. */ // 1.인터페이스 방식 Runnable runnable1 = new Runna..