<aside> 💡 학습목표: JVM과 JRE, JDK간의 관계를 이해할 수 있다.
</aside>
<aside> 💡 학습목표: 객체 지향 프로그래밍을 이해하고 객체 지향 프로그래밍 언어의 예시를 말할 수 있다.
</aside>
객체 지향 프로그래밍이란 부품에 해당하는 **'객체'**들을 만들고 이것들을 조립 및 연결해 전체 프로그램을 완성하는 기법이며, **OOP(Object Oriented Programming)**으로 불리기도 한다. 이때 사용되는 언어를 객체 지향 언어라고 하며, 대표적인 객체 지향 언어에는 Java, C++, Python 등이 있다.
JVM이란 운영체제가 자바 프로그램을 실행할 수 있도록 해 주는 가상의 운영체계(Virtual Machine)이다. 자바 프로그램은 완전한 기계어가 아니기 때문에 운영체제가 바로 실행할 수 없는데, JVM은 자바 프로그램을 실행하기 위해 운영체제를 대신해서 중간 단계의 바이트 코드(자바 프로그램)을 실행하는 가상의 운영체제 역할을 한다. JVM은 운영체제에 맞게 설치되어야 하며, JDK(Java Development Kit) 또는 JRE(Java Runtime Environment)를 설치하면 자동으로 설치된다.
그냥 말로 하자면 JDK는 JRE를, JRE는 JVM을 포함한다고 할 수 있다. 하지만 우리는 이것을 더 복잡하고, 전문적으로 보이게 나타낼 수 있다. 대충 집합을 쓰자면 JVM Ⅽ JRE Ⅽ JDK로 나타낼 수 있다. 실제로는 JRE에는 JVM 뿐만 아니라 표준 라이브러리들이 들어 있으며, JDK에는 JRE 뿐만 아니라 개발에 필요한 도구들이 들어 있다.
(물론 JDK만으로 개발을 할 수는 없다. Python과 다르게 IDLE(IDE)를 제공하지 않기 때문이다. 그래서 IntelliJ와 같은 IDE가 추가로 필요하다.)
오늘 강의는 여기서 끝!
<aside> 💡 학습목표: 변수의 타입과 특징에 대해 이야기할 수 있다.
</aside>
변수에는 기초 타입과 참조 타입이 있습니다. 기초 타입은 메모리 공간이 하나 생성되고, 그 안에 직접적으로 값이 저장됩니다. 하지만 참조 타입은 메모리 공간이 두 개(변수 한개, 데이터 한개) 생성되고, 변수 안에는 실제 값의 ‘주소값’이 들어갑니다.