Java

· Java
일급 컬렉션(First Class Collection)일급 컬렉션은 단일 컬렉션(List, Set, Map 등)을 wrapping하면서, 그외 다른 멤버 변수가 없는 상태를 의미합니다.즉, 클래스에 필드가 하나만 있고, 해당 필드가 컬렉션을 참조하는 것을 말합니다. 아래의 컬렉션 코드를List payGroups = new ArrayList();payGroups.add("Shinhan");payGroups.add("Woori");payGroups.add("KB");다음과 같이 Wrpping 하는 것을 말합니다.public class PayGroups { private final List pays; public PayGroups(List pays) { this.pays = pays; ..
· Java
가변 인자(vararags)가변 인자(varargs)는 메서드가 매개변수의 개수에 관계없이 동적으로 여러 인수를 받게 해주는 문법입니다. 이는 Java 5 이후로 도입된 기능으로, 메서드를 호출할 때 인수의 개수가 가변적일 때 유용합니다. 예를 들어 다음과 같이 매개변수의 개수가 가변적인 'print()' 메서드가 있다고 가정합니다.public class Main { public static void main(String[] args) { print("사과"); print("사과", "바나나"); print("사과", "바나나", "포도"); } public static void print(String s1) { System.out.pri..
· Java
for loop vs stream forEach Java8부터 Stream의 도입으로 기존의 코드를 보다 깔끔하고 가독성이 좋은 코드로 바꿀 수 있게 되었습니다. Stream은 컬렉션 등의 요소를 하나씩 참조해 함수형 인터페이스(람다식)를 통해 반복적인 작업의 처리를 가능하게 해 줍니다. 반복적인 처리가 가능하므로, 반복문(for-loop 등)을 대신해 Stream을 사용하는 경우가 많습니다. // for-loop for (int i = 0; i < items.size(); i++) { System.out.println(items.get(i)); } // 향상된 for-Each for (Iteam item : items) System.out.println(item); } // stream.forEach(..
· Java
직렬화(Serialize) & 역직렬화(Deserialize) 직렬화(serialize)란 자바 시스템 내부에서 사용되는 Object 또는 Data를 외부 자바 시스템에서도 사용할 수 있도록 바이트 스트림(stream of byte) 형태로 연속적인(serial) Data로 변환하는 포맷 변환 기술을 말한다. 역직렬화(Deserialize)는 byte로 변환된 데이터를 원 상태로 Object나 Data로 변환하는 기술이다. JVM(Java Virtual Machine)의 힙(heap) 또는 스택(stack) 메모리에 상주하고 있는 객체 데이터를 직렬화로 byte 형태로 변환 후 데이터베이스나 파일과 같은 외부 저장소에 저장해 둬 다른 컴퓨터가 해당 파일을 가져와 역직렬화를 통해 자바 객체로 변환하여 JV..
Hui._.
'Java' 카테고리의 글 목록