• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

result = 0 에서 0의 의미

20.07.19 11:21 작성 조회수 1.22k

0

조건 연산자 부분에서 0을 초기화한다고 하셔서 제가 0이외의 아무 숫자나 넣었는데도 결과값은 똑같았습니다. 0으로 초기화해야하는 특별한 이유가 있을까요?

답변 2

·

답변을 작성해보세요.

0

박동휘님의 프로필

박동휘

질문자

2020.07.24

감사합니다!

0

rktlrhrl531님의 프로필

rktlrhrl531

2020.07.21

굳이 특정 값으로 초기화해주지 않아도 나중에 그 변수에 값이 정의될 것이기 때문에 크게 문제가 일어나는 경우는 없습니다. 굳이 0으로 초기화하는 이유는 딱히 없습니다. 1로 초기화 해도 되고 -1로 해도 됩니다. 어차피 후에 그 변수가 명령문에 의해 다른 값으로 초기화되기 때문입니다.

변수를 정의할 때 int result로 정의만 하지 않고 int result = 0으로 초기화까지 해 주는 이유는 초기화를 해 주지 않으면 변수에는 쓰레기 값이 저장됩니다. 이런 쓰레기 값은 간단한 프로그램에서는 문제가 되지 않지만 추후 복잡한 프로그램에서는 쓰레기 값으로 인해 예상치 못한 오류가 발생하거나 원치않는 동작을 할 수도 있습니다. 이런 사태를 미연에 방지하기 위해 result를 0값으로 미리 초기화시켜 놓는겁니다. 쓰레기 값보다는 어떤 값이라도 들어가 있는게 더 낫다는 생각 때문입니다.

C에서는 정의되지 않은 변수여도 접근이 가능하지만 자바의 경우 위 경우처럼 아예 정의되지 않은 변수의 경우 컴파일 에러를 발생시킵니다.