향상된 for 문 / for-each 문

Kujun Kang
|2024. 1. 26. 23:15

향상된 for문 이란?

기본적으로 우리가 알고있는 for문의 경우 사용법은

for(int i = 0; i < 5; i++) {
	System.out.println(i)
}

의 방식으로 인덱스를 설정해, 설정된 인덱스 만큼 코드가 순회되는 방식이다. 

 

하지만 기존의 개발자들이 코드를 작성함의 편의를 위해 만들어 낸 것이 바로 

향상된 for문 / for each 문이다

 

향상된 for문 기본 구조

향상된 for문의 기본적인 구조는 이러하다.

for(변수 : 배열 또는 컬렉션) {
	//반복 실행할 코드
}

 

변수의 경우 반복 실행할 코드에서 사용할 변수 명을 선언하는 것이며,

배열 또는 컬렉션은 실제로 요소를 순회할 배열 또는 컬렉션을 의미한다.

 

향상된 for문 예시

int [] numbers = {1, 2, 3, 4, 5};

for (int num : numbers) {
	System.out.print(num + " ");
}

// output: 1 2 3 4 5


List<String> food = Arrays.asList("순대국", "뼈해장국", "자장면");

for(String foodName : food) {
	System.out.print(foodName + " ");
}

//output: 순대국 뼈해장국 자장면

 

자바스크립트의 map 함수와 비슷한 면모를 보여주는 것 같다.

 

사용할 수 없는 예시

주의해야 할 점이 있다. 

향상된 for문은 다양한 곳에서 손 쉽게 사용될 수 있을 것 이라 생각했으나

for문에서 증가하는 인덱스 값을 표기하던 기능을 사용할 수 없다. 

 

전역변수로 ` int i = 0 ` 를 사용해 강제적으로 i 값을 부여할 수 있으나, 이렇게 사용할바에는 일반 for문을 사용하는 것이 더 낫다.