JAVA를 복기하기 위해 ‘동빈나의 실전 알고리즘’ 강의를 보며 알고리즘 공부를 하고 있다.

강의에서는 C++로 알고리즘을 설명하고 있는데 나는 이를 JAVA로 바꾸어 코딩을 하고 있다.

C++과 JAVA는 둘 다 객체 지향 언어이고 컴파일러를 사용하기 때문에 문법에는 크게 차이가 없겠지? 라는 생각을 했다.

하지만 조금 다른 점을 발견하여 기록해 놓으려고 한다.

변수를 선언 할 때

C++에서는 반복문 내에서 변수를 초기화하지 않고 사용할 수 있다. 반면 JAVA에서는 변수를 사용하기 전에 항상 초기화해야 한다는 규칙을 가지고 있다.

why?

C++은 더 낮은 수준의 언어이기 때문에 프로그래머에게 더 많은 유연성과 직접적인 메모리 관리를 허용하기 때문이다. 하지만 C++은 변수를 사용할 때 경고를 주거나 오류를 발생시키지 않는다.

JAVA는 기본적으로 JVM에서 메모리를 관리한다. 그러므로 JAVA에서는 변수를 사용하면 컴파일러에서 오류를 발생시키거나, 해당 변수에 접근할 때 런타임 에러를 발생시킨다.