개발이좋아

[Java] 향상된 for문 (Enhanced for loop) 본문

Java

[Java] 향상된 for문 (Enhanced for loop)

noobdev 2019. 12. 16. 19:46

for문은 반복문으로써 반복적인 작업을 할 때 사용하는 조건문이다.

특히 배열과 궁합이 좋은데 기존 for문 보다 편리하게 사용할 수 있는 것이 '향상된 for 문'이다.

향상된 for문은 자바 5부터 제공되었으며 배열의 처음부터 끝까지 모든 요소를 참조할 때 사용한다.

향상된 for문은 초기화와 종료 조건을 나타내는 조건식이 따로 없기 때문에 모든 배열의 시작 요소부터 끝 요소까지 순회하게 된다.

 

for(초기화식; 조건식; 증감식) {	//기존 for문
    반복 실행할 코드;
 }



for(자료형 변수 : 배열) {		//향상된 for문
    반복 실행할 코드;
 }

위의 코드는 기존 for문과 향상된 for문의 기본적인 문법이다.

향상된 for문은 초기화식 조건식 증감 식이 아닌 그저 변수와 배열만 있으면 된다.

변수에 배열의 요소를 하나씩 대입해 가며 코드를 반복 실행하게 된다.

 

 

아래의 예제를 보도록하자.

 

Car 클래스를 간단하게 model, price 멤버 변수와 Car클래스의 정보를 나타내는 showCarInfo( ) 메서드로 정의하였다.

 

위에서 정의한 Car클래스를 main( ) 함수 안에서 ArrayList를 사용해 배열로 만들고 5개의 인스턴스를 생성하여 ArrayList에 추가하였고 29행~32행은 기존의 for문으로 36~38행은 향상된 for문으로 반복 실행한 예이다. 

 

 

위의 두 반복문들은 서로 같은 결과를 출력하는데 향상된 for문이 기존 for문 보다 코드의 길이도 짧고 간단한 모습을 보여준다.

향상된 for문은 실행 시 조건식 자리에 오른쪽 배열의 요소를 하나씩 왼쪽 변수에 대입해가며 배열의 처음 요소부터 마지막 요소까지 반복해가며 구현부의 코드를 실행한다.

for문에서 초기 화식에서부터 조건식이 참일 때까지 값이 증가해가며 구현부를 반복 실행하는 것과 똑같다.

위 사진에서는 carList 배열의 요소를 car 변수에 하나씩 대입하고 대입한 변수에서 showCarInfo( ) 메서드를 호출한다. 

 

위 코드의 출력결과

위의 출력 결과를 보면 기존 for문과 향상의 for문의 실행결과가 같은 것을 확인할 수 있다.

이렇듯 배열의 처음부터 끝 요소까지 반복 실행할 코드가 있다면 향상된 for문으로 편하게 구현할 수 있다.

 

 

 

 

본 포스팅은 필자가 공부한 것을 정리해 놓은 것으로 오류가 존재할 수 있습니다.
참고: Do it! 자바 프로그래밍 입문

'Java' 카테고리의 다른 글

[Java] 컬렉션 프레임워크란? (Collection Framework)  (0) 2019.12.18
[Java] Annotation  (0) 2019.12.17
[Java] 정보은닉과 getter/setter  (0) 2019.12.15
[Java] 싱글톤 패턴 (Singleton Pattern)  (0) 2019.12.14
[Java] 변수 유효 범위  (0) 2019.12.12
Comments