인프런 커뮤니티 질문&답변
자바에서 변수 초기화에 대한 의견입니다.
작성
·
535
2
solution() {} 에서 중괄호 안에(메소드영역) 있는 변수(answer)를 지역변수라고 하는데 기본적으로 자바는 이 지역변수를 반드시 초기화를 해주어야 합니다. 안그러면 컴파일 에러가 발생하죠.
하지만 Main {} 처럼 클래스영역에 있는 변수를 전역변수 또는 멤버 변수(멤버 변수 = 클래스 변수 + 인스턴스 변수)라고 하는데 전역변수는 초기화를 하지 않아도 자동으로 기본값을 넣어줍니다.
영상에서 보여지는 코드는 solution 메소드 안에 있는 변수이므로 지역변수를 사용하고 int answer; 로만 선언을 했습니다.
이렇게만 하면 컴파일 에러가 발생하지만 밑에 줄에
answer = sum; 으로 초기화를 했기 때문에 컴파일 에러가 발생하지 않습니다.
멘토링 문제에서도 for {} 문 안에 변수 pi, pj 역시 지역 변수이므로 반드시 초기화를 해주어야 합니다.
퀴즈
투 포인터 또는 슬라이딩 윈도우 기법을 사용하여 얻을 수 있는 가장 큰 이점은 무엇일까요?
데이터를 정렬할 필요가 없다
일반적으로 더 효율적인 시간 복잡도를 가진다
더 적은 메모리를 사용한다
모든 종류의 문제에 적용 가능하다





