순차 지향 프로그래밍과 절차 지향 프로그래밍은 보통 비슷한 맥락에 사용되어 같은 프로그래밍 기법으로 인식하고 있었다.
순차적 프로그래밍은 말 그대로 차례로 흘러가는 프로그래밍 구조를 의미한다. 절차적 프로그래밍은 반복될 가능성이 있는 모듈을 재사용 가능한 프로시저의 단위(함수의 단위)로 나눈 프로그래밍이다.
JDK를 이용해 개발된 프로그램은 JRE에 의해 가상 컴퓨터인 JVM 상에서 구동된다.
자바 개발자는 본인이 사용 중인 플랫폼에 설치된 JVM용으로 프로그램을 작성하고 배포하면 각 플랫폼에 맞는 JVM이 중재자로서 각 플랫폼에서 프로그램을 구동하는 데 아무 문제가 없게끔 만들어준다. Write Once Run Anywhere의 특징을 만족시킨다.
개발 중 유효하지 않은 메모리인 garbage가 발생하면 C언어 사용 시 free() 함수를 통해 직접 메모리를 해제해주곤 했다. 하지만 JAVA를 이용해 개발하면 개발자가 직접 메모리를 해제할 일이 없다. JVM의 GC가 불필요한 메모리를 알아서 정리해주기 때문이다.
스태틱 - 클래스의 놀이터
스택 - 메서드의 놀이터
힙 - 객체의 놀이터
클래스를 통해 여러 특징을 정의할 수 있고, 객체는 해당 클래스의 실질적인 인스턴스의 역할을 한다. 따라서 definition인 클래스는 붕어빵 틀, 해당 클래스의 형태로서 실제 instance를 만들어 낸 객체는 붕어빵이라고 비유할 수 있다.