본문 바로가기

Java Programming

향상된 For문을 사용한 리팩토링 with Quiz3

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
 이전에 Quiz 3번(지뢰찾기)을 풀면서 이중 포문을 사용하여 2차원 배열에 있는 값들을 화면에 뿌려주는 메소드를 만들었습니다. 보면서 뭔가 생각해야할것도 많고, 2차원 배열이기때문에 각별히 인덱스 값의 범위를 생각해 줘야 한다고 생각하고 있었습니다만 지난번에 배열 공부 할때 마찬가지로 Zerry82님 께서 향상된 포문을 사용해보라고 조언을 해주셔서 이번에 향상된 포문을 몇번 사용 해 보았습니다.

기존의 소스코드입니다.



향상된 포문을 사용한 소스코드 입니다.


일단은 확연하게 틀린 부분이 for (인덱스값 ; 인덱스값의범위 ; 인덱스값의증감) 이런식의 형식에서 벗어난 포문이라는 점에서 놀랐습니다 - _-;; 사실 이 3가지의 조건들을 작성하는것이 여간 까다로운 일이 아니었구 명시적으로 보기에도 굉장히 소스코드가 난잡해 졌었구요..

아래의 향상되 포문의 구조를 파악해 보자면.. (다른 사이트나 API 참고 하지 않았습니다, 저만의 해석이 틀릴 수 있으니 알아두세용)

for (데이터 형식, 인덱스 값 : 객체명 혹은 변수명)


왠지.. 에자일 자바에서 공부했던 <> 제너릭하고 뉘앙스가 비슷해 보였습니다. 어떤 부분이다 딱 집어서 이야기 할수는 없지만  String[] i : map <- 이부분에서 그런 느낌을 받았습니다. String[]형의 map 객체에 한번씩 다 빈공간을 출력하도록 하겠다 이런것처럼요.. 아래는 마찬가지로 인덱스 i 값의 배열, 인덱스 값은 j라고 지정해주고 인덱스 i값에 해당하는 그 안의 인덱스인 j의 갯수만큼 (알아서;;) 출력해준다.. 는 내용으로 보입니다. ^^;;;;

너무 의역하는 감이 없지 않아 있지만.. ㅠㅠ 이렇게 공부를 해야.. 의미가 있겠죠.. 남들이 써놓은 글을 보면, 정확한것도 있고 아닌것도 있지만, 제가 어떻게 받아들이느냐가 중요한것 같아서 이렇게.. 글을 남깁니다.