천발무금
966
2019-09-25 21:44:35
5
1272

자바에서 int, boolean 등 변수 기본값 문의


보통 자바에서 boolean이나 int 의 기본 값은 각각 false와 0이라고 합니다


그런데 왜 아래와 같은 코드를 작성하면 "기본값을 입력하라는" 컴파일 에러가 나는지 잘 모르겠어서, 문의드립니다


[예시]

int i;

System.out.println(i);


boolean b;

System.out.println(b);

0
  • 답변 5

  • Autowired
    2019-09-25 22:00:12

    메소드 내부에 선언된 변수는 지역변수라고 하는데 클래스의 필드와는 다릅니다.

    초기 선언시 값을 할당을 안해주면 컴파일 에러는 나지않지만

    그 변수에는 기본값이 저장되지않습니다. 그렇기 때문에  아무런 값도 들어있지 않은

    변수를 사용하려고 하면 컴파일 에러를 내뱉게 됩니다.

  • 자라선
    1k
    2019-09-26 08:44:00

    기본값이라는 말이 뭔가요? 처음들어봐서..

    저런 코드는 에초에 IDE에서 경고 해줄텐데?

    초기화되지 않은 변수니 당연히 에러를 보여줍니다.

  • Autowired
    2019-09-26 08:53:42

    디폴트값이요. 

    지역변수에 값을 할당하지않고 선언만 할시엔 에라가 안나고 그걸 사용할 때 에러를 내뱉어여

  • 자라선
    1k
    2019-09-26 09:01:18

    @Autowired 

    아 글로벌 변수로 등록시 자동 초기화가 되네요.

    몰랐네요; 이렇게 쓸일이 없으니;

  • 천발무금
    966
    2019-09-26 11:58:56

    @Autowired
    답변 감사합니다

    아.. 멤버변수에만 기본값이 있고, 지역변수에는 기본값이 없다고 이해했습니다
    와.. 이게 또 기본값 유무가 왜 차이나는지는 알아봐야겠네요

  • 로그인을 하시면 답변 을 등록할 수 있습니다.