2003년03월16일 54번
[프로그래밍 일반] 프로그램을 구성하는 함수에서 전역 변수를 사용하여 함수의 결과를 반환하는 경우, 함수에 전달되는 입력 파라미터의 값이 같아도 전역 변수의 상태에 따라 함수에서 변환되는 값이 달라질 수 있는 현상을 무엇이라 하는가?
- ① reference
- ② side effect
- ③ aliasing
- ④ recursive
(정답률: 67%)
문제 해설
연도별
- 2020년08월22일
- 2020년06월06일
- 2019년09월21일
- 2019년04월27일
- 2019년03월03일
- 2018년09월15일
- 2018년04월28일
- 2018년03월04일
- 2017년09월23일
- 2017년05월07일
- 2017년03월05일
- 2016년10월01일
- 2016년05월08일
- 2016년03월06일
- 2015년09월19일
- 2015년05월31일
- 2015년03월08일
- 2014년09월20일
- 2014년05월25일
- 2014년03월02일
- 2013년09월28일
- 2013년06월02일
- 2013년03월10일
- 2012년09월15일
- 2012년05월20일
- 2012년03월04일
- 2011년08월21일
- 2011년06월12일
- 2011년03월20일
- 2010년09월05일
- 2010년05월09일
- 2010년03월07일
- 2009년08월30일
- 2009년05월10일
- 2009년03월01일
- 2008년07월27일
- 2008년05월11일
- 2008년03월02일
- 2007년08월05일
- 2007년05월13일
- 2007년03월04일
- 2006년08월06일
- 2006년05월14일
- 2006년03월05일
- 2005년08월07일
- 2005년05월29일
- 2005년03월20일
- 2005년03월06일
- 2004년08월08일
- 2004년05월23일
- 2004년03월07일
- 2003년08월10일
- 2003년05월25일
- 2003년03월16일
- 2002년08월11일
- 2002년05월26일
- 2002년03월10일
- 2001년09월23일
- 2001년06월03일
- 2001년03월04일
전역 변수를 사용하여 함수의 결과를 반환하는 경우, 함수가 호출될 때마다 전역 변수의 상태가 변할 수 있기 때문에 함수의 결과도 달라질 수 있다. 이러한 현상을 "side effect"라고 한다.
예를 들어, 전역 변수에 저장된 값을 이용하여 계산하는 함수가 있다고 가정해보자. 이 함수는 입력 파라미터로 숫자를 받아서, 전역 변수의 값과 함께 계산한 결과를 반환한다. 그런데, 함수가 호출될 때마다 전역 변수의 값이 변할 수 있기 때문에, 같은 입력 파라미터를 전달하더라도 함수의 결과가 달라질 수 있다. 이러한 현상은 프로그램의 동작을 예측하기 어렵게 만들고, 디버깅을 어렵게 만든다.
따라서, 전역 변수를 사용하는 것보다는 함수 내부에서 지역 변수를 사용하고, 입력 파라미터를 이용하여 계산하는 것이 좋다. 이렇게 하면 함수의 결과가 입력 파라미터에만 의존하게 되어, 예측 가능한 동작을 보장할 수 있다.