문득 궁금점이 생기게 되었다.

그 궁금점은 왜 아래와 같이 변수 선언 부분과 초기화 부분이 나뉘어 있냐는 것이다.
결국 얻어 낸 해답은 기능상의 차이점은 없고 소스 작성자의 스타일이나 상황에 맞게

달라질 수 있다는 것이다.

보통은 위 소스와 같이 선언부분과 초기화 부분을 나뉘어진 모습을 많이 볼 수 있었기에

나 또한 그냥 그렇게 쓰고 있었을 뿐이였다.

평소에는 같이 선언하든 나뉘어 선언하든 자기 스타일 대로 하면 되겠지만

상황에 따라 달리 해줘야 하는 경우가 있다.

아래는 그 예이다.위 소스를 보면 myButton이라는 버튼변수는 초기화를 함수안이 for문안에 해줬고

myArray이라는 배열변수는 초기화를 함수 밖에서 선언과 동시에 해줬다.

그 이유를 보면 버튼같은 경우는 5개를 생성해줘야 하는게 그렇게 하기 위해서는

5번의 새로운 버튼 객체를 생성해줘야 한다. 따라서 초기화문을 for문 안에 선언해줘야 한다.

하지만 myArray같은 경우 for문안에서 초기화를 해주면 어떻게 될까?

그렇게 되면 for문이 돌때마다 새로운 객체가 생성되어 myArray안에는 0이라는 index밖에

존재하지 않을 것이다.

따라서 초기화를 밖에서 해주고, 그 안에 5번의 data를 넣게 해야 myArray안에

0,1,2,3,4 라는 5개의 data가 들어가게 될 것이다.

이와같이 초기화 위치는 본인의 스타일에 맞게, 또는 상황에 맞도록 사용하면 된다.

Posted by 윤연식
,