Primitive[] to Wapper[] Wapper[] to Primitive[] Array to List Arrays.asList() 사실상 Array의 List형 View를 만든다고 보면 된다. 리스트를 통해 배열을 길이를 건드리면 밑처럼 에러가 발생한다. new ArrayList(Arrays.asList()) Array의 View를 가져...
JVM (Java Virtual Machine) Java는 OS에 독립적으로 동작한다. 즉, 하나의 Java 프로그램은 Windows, Mac, Linux 등에서 모두 돌아간다는 뜻이다. 각 OS가 통일되지 않은 각각의 시스템콜을 가지고 있다는 걸 생각해보면 이건 퍽 놀라운 일이다. 이는 .java 파일이 바로 기계어(binary code)로 변환되...
Garbage Collector 더 이상 참조되고 있지 않은 (메모리 공간을 낭비하고 있는) 객체들을 치워버리는 친구이다. 이 친구 덕분에 Java에서는 C에서처럼 수동으로 메모리를 할당해제 할 필요가 없어졌다. Garbage Collecting Heap 영역에서 참조되고 있지 않는 객체들의 메모리를 할당해제하는 과정이다. 영역에 따라 Minor ...
Object Class 모든 클래스의 조상 클래스 메소드 protected Object clone() : 객체 자신의 복사본을 리턴 boolean equals(Object obj) : 객체 자신과 같은 객체인지를 리턴. 참조하는 메모리 주소가 같은 지를 비교. protected void finalize() : 소멸자 Class getClass() : 객...
날찌 시간 관련 클래스 Date (초창기부터 존재, 매우 불편) => Calendar (Date 보다는 낫지만 불편) => java.time package (LocalDate, LocalTime, LocalDateTime, DateTimeFormatter 등의 Class들 지원) Date, Calendar의 필요성은 더 이상 없어졌지만, 예전부터 사용되어...
제네릭 클래스 간단히 말해서 하나의 클래스로 여러가지 자료형을 다 이용할 수 있게 하는 형식의 클래스이다. Java를 조금 써 봤다면 HashSet 같은 자료형을 다뤄 봤을텐데, 이 HashSet클래스를 타고 가 보면 Integer는 온데 간데 없고 HashSet라고 떡 하니 클래스 선언이 되어 있는데, 이게 바로 제네릭 클래스로 선언이 된 것이다. ...
Abstract class 추상 클래스는 객체 생성을 할 수 없는 상속 전용 클래스이다. 클래스 내에 1개 이상의 추상 메소드가 존재할 시 추상 클래스로 분류가 된다. 객체 생성을 할 수 없다는 점을 제외하면 일반 클래스와 기능적으로 같다. Interface 모든 메소드가 추상 메소드이다. 단, Java 8 이후로는 default 키워드를 사용하...