java

[Kotlin] 코틀린(Kotlin)과 자바(Java) 비교
1. 코틀린을 추천하는 이유2017년 구글 안드로이드 개발 공식 언어로 코틀린 지정코틀린으로 개발한 결과 코드베이스 크기가 33% 줄고 NPE 비정상 종료가 30% 감소자바보다 간결// javapublic class Main { public stastic void main(String[] args) { System.out.println("Hello World"); }}// kotlinfun main() { println("Hello World")}Null satetyJava Java 컴퍼일러는 NPE(NullPointerException)의 발생을 방지하지 못함NPE는 항상 런타임(서비스 운영 중)에 발생하며 사용자에게 불편NPE가 발생하는 위치를 명확히 알려주지 못하는 경우도 많음Kotli..

[JAVA] Java의 동작 원리
Java 동작 원리 1. 작성한 Source Code를 Complier를 통해 Byte Code로 변환(파일명.java → 파일명.class) 2. Compile된 Byte Code를 코드 편집기를 통해 JVM의 Class Loader에게 전달 3. Class Loader는 Runtime Data Area, 즉 JVM 메모리에 올린다 4. 이후, Execution Engine은 JVM 메모리에 올라온 Byte Code를 명령어 단위로 하나씩 가져와 실행

[JAVA] int vs Integer
1. int primitive type(기본형) 변수의 타입(data type, 자료형) ex) int, char 변수(Variable) 값을 저장할 수 있는 메모리 상의 공간 data의 type에 따라 값이 저장될 공간의 크기와 저장형식을 저장한 것 산술 연산 가능 null로 초기화 불가능 2. Integer wrapper class(래퍼 클래스) Unboxing 하지 않을 경우 산술 연산 불가능 null 값 처리 가능 2.1. boxing primitive type -> wrapper class 변환 (int -> Integer) 2.2. Unboxing wrapper class -> primitive type 변환 (Integer -> int) 3. valueOf() 와 parseInt() 차이 3..

[JAVA] int vs long
int와 long의 차이 int long 공간 32 bit (2^5개 공간) 64 bit (2^6개 공간) 바이트 4바이트 8바이트 기타 2^32 = 4,294,967,296 -2,147,483,648 ~ 2,147,483,647 (-21억 ~ 21억) 2^64 = 1.8446744073709552e + 19 -9, 223, 372, 036, 854, 775, 808 ~ 9, 223, 372, 036, 854, 775, 807 (-922경 ~ 922경) int는 32 bit로 00000000 00000000 00000000 00000000 long는 64 bit로 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 long이 i..

[JAVA] 상수 vs 변수
1. 상수 vs 변수 1.1 상수 변하지 않거나 일정한 값을 가진 수 or 문자 or 문자열 or 데이터 일반적으로 JAVA에서는 상수를 표현할 때 final 키워드를 이용해서 표현하여 값이 변하지 않도록 함. 대부분 상수는 대문자로 표시! 선언과 동시에 초기화하는 성질을 가지고 있음(반드시 해야할 필수사항은 아님!) final int MONTH = 12; (선언과 동시에 초기화!) final int YEAR; (선언만 할 경우!) public Eample(int year) { (선언만 했을 경우 이렇게 초기화할 것!) this.YEAR = year; } 1.2 변수 데이터 처리 or 프로그래밍을 하기 위해서는 값들을 변경하거나 저장할 수 있는 공간이 필요! 값을 저장할 수 있는 메모리 공간 공간은 계속..