result = 0 에서 0의 의미
1898
작성한 질문수 1
조건 연산자 부분에서 0을 초기화한다고 하셔서 제가 0이외의 아무 숫자나 넣었는데도 결과값은 똑같았습니다. 0으로 초기화해야하는 특별한 이유가 있을까요?
답변 2
1
굳이 특정 값으로 초기화해주지 않아도 나중에 그 변수에 값이 정의될 것이기 때문에 크게 문제가 일어나는 경우는 없습니다. 굳이 0으로 초기화하는 이유는 딱히 없습니다. 1로 초기화 해도 되고 -1로 해도 됩니다. 어차피 후에 그 변수가 명령문에 의해 다른 값으로 초기화되기 때문입니다.
변수를 정의할 때 int result로 정의만 하지 않고 int result = 0으로 초기화까지 해 주는 이유는 초기화를 해 주지 않으면 변수에는 쓰레기 값이 저장됩니다. 이런 쓰레기 값은 간단한 프로그램에서는 문제가 되지 않지만 추후 복잡한 프로그램에서는 쓰레기 값으로 인해 예상치 못한 오류가 발생하거나 원치않는 동작을 할 수도 있습니다. 이런 사태를 미연에 방지하기 위해 result를 0값으로 미리 초기화시켜 놓는겁니다. 쓰레기 값보다는 어떤 값이라도 들어가 있는게 더 낫다는 생각 때문입니다.
C에서는 정의되지 않은 변수여도 접근이 가능하지만 자바의 경우 위 경우처럼 아예 정의되지 않은 변수의 경우 컴파일 에러를 발생시킵니다.
서식 문자 실습 중 콘솔 결과값 글자 깨짐
0
556
1
19-4 : super 클래스 부분에서
0
378
1
비트를 뒤에서부터 읽으셔서 궁금해서 질문드립니다!
1
650
1
배열예제 오류
0
389
1
GC 동작시기가 궁금합니다.
0
374
0
자바 18버전으로 다운받아도 되나요?
0
533
1
클래스 생성과 관련하여 질문 있습니다
0
265
0
형변환시 신규 메모리가 할당 되는지
0
349
0
Socket을 null로 처음에 선언해주는 이유가 뭘까요?
0
302
0
반환값 용도
0
337
1
블로그 작성
0
316
0
삼항연산자 잘못 적으셨어요
0
264
1
어느것부터 다운로드를 해야하는지 좀 막히네요
0
352
1
inputStream.read()질문드립니다
0
325
1
System.out.println("i + j = " + (i+j); 이렇게 쓰는 이유가 뭔가요? " "i + j " = (i +j)라고 쓸수 있는거 아닌가요?
0
366
1
<for문> 예시 작성시 에러발생 질문드립니다
0
577
2
이해가 안가는 부분이 있습니다.. 선생님들.. 도와주세요..!!
0
314
1
인터페이스를 사용 하는 이유가 무엇인가요?..
0
737
1
혹시 영상 만드시고 업로드 전 확인 안하시나요..? 잡음..
1
304
1
이해가 안가는게 있습니다
0
310
2
jdk-16.0.1은 jre가 없이 jdk만 설치되는게 정상인가요?
0
497
1
메모장을 실행하실때
0
312
1
강의 중 말씀해주신 형변환된 코드가 알고 싶어요.
0
230
2
메모장이안돼요 처음에
0
276
0





