1일차에서 유니티 생명주기를 통해 스크립트가 실행되는 흐름을 배웠다면, 오늘은 프로그램의 논리적 흐름을 제어하는 기초적이면서도 핵심적인 요소인 조건문과 반복문에 대해 정리해 보겠습니다.
조건문은 주어진 조건식의 결과가 참(True)인지 거짓(False)인지에 따라 실행할 코드 블록을 결정하는 제어문입니다. 가장 기본적으로는 if, else if, else 형식을 사용하여 프로그램의 분기를 만듭니다.
1. if ~ else
if(조건식){
// 조건식에 해당하면 해당 블록 코드 실행
}else{
// 조건식에 부합하면 해당 블록 코드 실행
}
2. if ~ else if ~ else
if(조건식1){
// 조건식1에 해당하면 해당 블록 코드 실행
}else if(조건식2){
//조건식 1에 해당되지 않으며 조건식 2에는 해당될 경우 해당 블록 코드 실행
}else{
// 조건식 1, 2 모두 만족하지 않을 경우 해당 블록 코드 실행
}
조건문은 단순히 로직을 나누는 것을 넘어 개발의 안정성을 지키는 방어 코드(Defense Code)로서 매우 중요한 역할을 수행합니다. 프로그램이 실행되는 도중 발생할 수 있는 잠재적 오류를 코드적으로 방어(if(조건식) return; 처리)하여 미리 차단하는 과정이 반드시 필요하기 때문입니다.
예를 들어 특정 대상에게 데미지를 입히는 로직에서 대상이 존재하지 않는 경우(null), 이를 미리 체크하지 않으면 프로그램이 멈추는 에러가 발생할 수 있습니다. 예상 가능한 오류 상황을 로직 시작 단계에서 배제하여 코드의 안정성을 확보하는 것이 중요합니다.
반복문은 특정한 조건을 만족하는 동안 동일한 코드 블록을 여러 번 실행할 때 사용합니다. 유니티 개발에서 여러 개의 오브젝트를 동시에 제어하거나 데이터를 순회할 때 필수적인 기능입니다.
그중 for문은 반복 횟수가 명확할 때 가장 많이 사용됩니다. 초기화식, 조건식, 증감식으로 구성되어 있으며, 조건식이 참인 동안 중괄호 안의 코드를 반복해서 실행합니다. 리스트나 배열 같은 자료구조와 자주 같이 사용합니다.
for(초기화식; 조건식; 증감식){}
=> for(int i = 0; i < 10; i++){
// i(0)부터 9까지 증가하면서 내부 코드 블록 실행
}
오늘은 프로그램의 판단 근거가 되는 조건문과 반복문을 학습했습니다.
특히 조건문을 사용할 때 이전 개발 회사에서 코드를 작성했을 때 방어코드의 중요성을 깨닫지 못하고 오류가 발생하면 부랴부랴 수정했던 기억이 남습니다.
그래서 이번 학습이 배웠던 내용을 복습하는 시간이었지만 단순히 기능을 구현하는 데 그치지 않고, return을 활용한 방어 코드를 작성하여 예외 상황을 미리 걸러내는 연습이 중요하다는 것을 다시 한번 확인했습니다.
탄탄한 논리 구조를 만드는 것이 결국 좋은 개발의 시작점인 것 같습니다.