멘토링 문제에서 초기화 문제가 됬던부분 코드입니다.
자바는 클래스 멤버변수(필드)만 기본값 자동초기화를 지원하고, 지역변수는 자동 초기화를 해주지 않는다고합니다.
위의 코드에서 pi, pj는 지역변수인데, for문에서 조건문에 의해 pi와 pj에 값이 할당되니깐 pi, pj의 초기화가 안 될 수도 있는 여지가 있습니다.
그래서 아래의 if (pi < pj) 부분에서 초기화가 안 된 변수끼리 비교를 하니깐 에러가 뜨는 것 같습니다.
그리고 현재 문제인 최대 매출 문제의 코드는
이렇게 되는데, 위에서 answer를 초기화 하지 않아도 아래 for문에서 바로 sum 으로 초기화되기때문에 문제가 없습니다.
만약 sum = answer 이렇게하면 초기화 하지 않고 사용하려 하기때문에 멘토링 문제처럼 컴파일 오류가 발생합니다.
저도 모두 기본값 자동초기화를 해주는 줄 알고 있었는데, 구글에 검색해보니 클래스 필드들만 초기화 해주더라구요.