본문 바로가기
Web/Svelte

Java - 비구조화 할당(Unpacking) 이해, 예제 포함

by 올엠 2024. 3. 10.
반응형

Java에서는 비구조화 할당이라는 기능을 제공하는데, 고급 개발 언어인 이유중 하나가 바로 비구조화 할당이라고 할 수 있다. Python에서도 제공하는 기능이지만 비구조화된 할당을 사용하면 다음과 같은 장점을 가지게 된다.

  • 코드 가독성 향상

당연한 거지만 비구조화 할당은 코드를 더욱 간결하고 읽기 쉽게 만들어 줍니다.

변수명이 길거나 복잡한 객체를 다룰 때 유용하게 사용할 수있다.

  • 코드 중복 제거

비구조화 할당을 사용하면 불필요한 중복 코드를 제거할 수 있는데, 반복적(for 문과 같이)인 객체의 속성을 추출해서 변수에 저장할 때 객체명을 계속해서 입력하는 것을 방지할 수 있다.

  • 속도 향상

비구조화 할당은 작은 메모리 객체에서 더욱 효율적이다. 이유는 객체의 속성을 개별 변수로 바로 할당하기 때문이다. 이러한 이유로 반복문에서 비구조화 할당을 사용하면 속도를 향상시킬 수 있다.

  • 스코프 제한

비구조화 할당은 변수의 스코프를 제한할 수 있습니다. 변수를 지역적으로 선언하면서 쉽게 제한이 가능하다.

그럼 예제를 통해 살펴보자.

아래와 같이 과일 이름을 가진 Key와 Value를 가지고 있다고 생각하자.

일반적으로 이를 출력하기 위해서는 아래와 같은 코드로 작성해야 한다.

Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);



for (Map.Entry<String, Integer> entry : map.entrySet()) {
    String key = entry.getKey();
    int value = entry.getValue();
    System.out.println(key + " : " + value);
}

위 코드를 비구조화 할당을 이요하면 다음과 같이 사용할 수 있다.

map.forEach((key, value) -> System.out.println("Key : " + key + ", Value : " + value));
 
반응형