58. 전통적인 for 문보다는 for-each 문을 사용하라
✅ 핵심 요약
📚 필수 개념 및 배경 지식
개념
설명
✅ 올바른 예제 (for-each 사용)
import java.util.*;
// 카드 무늬 (Suit): 총 4가지
enum Suit {
CLUB, DIAMOND, HEART, SPADE
}
// 카드 숫자 (Rank): 총 13가지
enum Rank {
ACE, TWO, THREE, FOUR, FIVE, SIX, SEVEN,
EIGHT, NINE, TEN, JACK, QUEEN, KING
}
// 카드 클래스
class Card {
private final Suit suit;
private final Rank rank;
public Card(Suit suit, Rank rank) {
this.suit = suit;
this.rank = rank;
}
@Override
public String toString() {
return rank + " of " + suit;
}
}
public class DeckForEachExample {
public static void main(String[] args) {
// 무늬와 숫자 리스트 생성
Collection<Suit> suits = Arrays.asList(Suit.values()); // 4개
Collection<Rank> ranks = Arrays.asList(Rank.values()); // 13개
List<Card> deck = new ArrayList<>();
// ✅ for-each 문으로 4 × 13 = 52장 카드를 안전하게 생성
for (Suit suit : suits) {
for (Rank rank : ranks) {
deck.add(new Card(suit, rank));
}
}
System.out.println("총 카드 수: " + deck.size()); // ✅ 출력: 52
System.out.println("생성된 카드 예시:");
for (int i = 0; i < 5; i++) {
System.out.println(deck.get(i));
}
}
}❌ 잘못된 예제 (버그 발생)
🛠 특별한 상황에서는 전통적인 for 문이 더 적절
📦 자바 버전에 따른 변화
☕ Java 8 이후
💡 핵심 포인트
✨ for-each를 써야 하는 이유
🚫 for-each를 쓸 수 없는 경우
✅ 결론
🎯 느낀점
Last updated