index[0]하고 index[1] 에 저장된 객체들끼리 상호작용시킬수있나요?
package practice3;
public class Main {
public static void main(String[] args) {
Charecter[] players =
{new Worrier("타락파워전사",100,20)
,new Mage("굴다리썬콜",100,20)};
for(Charecter player : players) {
System.out.println(player.toString());
//[name=타락파워전사, hp=100, demage=20]
//[name=굴다리썬콜, hp=100, demage=20]
}
}
}
먼소린지모르겟지만 이전에 접근했던 객체를 별도의변수에 저장해두면되죠
위코드 처럼 인핸스드for 문쓰면 인덱스개념이아예사라지는건가요?
@글쓴 백갤러(121.164) player 변수는 스택이라 타락파워전사 출력하고나면 사라지나..
@글쓴 백갤러(121.164) 정확히는 향상된for문은 iterable한 객체를 순회하는 용도로 쓰이는건데 (iterable!=인덱스 순서를 가진다) 라서 향상된for문 만으로는 인덱스를 뽑을순없죠. 그냥 이터레이터가 집어주는 '다음'객체를 꺼내는거임. 그니깐 map으로된 데이터도 내부적으로 순서를 만들어서 뽑아낼수있지만 그게 map의 인덱스는 키값이잖음.
@글쓴 백갤러(121.164) 향상된for문이 동작하는 구조를 찾아보세요 향상된for문이 나오기전엔 이터레이터를 직접 사용했는데 그걸 그냥 간단하게 문법으로 지원한게 향상된for문임
@밀우 자세하게 설명해주셔서 감삼다 이터레이터 라는게 있는줄도몰랐네요
그렇게 할거면 차라리 향상된 for문말고 i로 접근하게 한다음에 i 조작해서 이전 이후 변수 접근하는게 더 나을듯