Posted:      Updated:

🔎 Java(자바)

썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다.
가전제품, 휴대용 장치 등에 사용된다. 요즘에는 모바일 기기용 소프트웨어 개발에도 널리 사용된다고 한다.

자바 가상 머신(JVM, Java Virtual Machine)을 사용해서 운영체제에 독립적이다.
즉, OS에 상관 없이 다양한 환경에서 사용할 수 있다.
실행을 위해 가상 머신을 거쳐야 하기 때문에 다른 언어들보다 비교적 속도가 느리지만, 현재는 속도가 매우 빨라졌다고 한다.

객체 지향 프로그래밍

컴퓨터 프로그래밍 패러다임 중 하나로, 객체 간 관계와 협력을 기반으로 프로그래밍하는 것이다.
각각의 객체는 메세지를 주고받으며 데이터를 처리한다.
코드를 재사용하기 용이하고, 유지보수가 쉬우며, 코드를 관리하기 편하다.

⚙ 기본 구성 요소: Class(클래스)

같은 종류의 집단에 속하는 속성과 행위를 변수와 메서드로 정의한 것이다.
기본적인 사용자 정의 데이터 형이라고도 할 수 있다.
객체를 만들기 위한 기본적인 정보들을 가진다.

⚙ 기본 구성 요소: Object(객체)

클래스의 인스턴스(Instance)이다. 클래스 기반으로 생성된 객체를 인스턴스라고 한다.
객체는 자신의 고유한 속성(변수)을 가지고 행위(메서드)를 할 수 있다.

객체 지향 프로그래밍의 특징

객체 지향 프로그래밍의 주요 특징을 간단하게 알아보자.

📜 특징: 추상화

객체들의 공통적인 속성과 기능을 바탕으로 필요한 정보만 표현해 프로그램을 간단하게 만드는 것이다.
추상화를 통해 객체를 정의한다.

📜 특징: 캡슐화

객체의 속성(변수)과 행위(메서드)를 하나로 묶어 구현 내용 중 꼭 필요한 정보와 기능만 오픈한다.
대부분의 멤버 변수와 메서드는 감추고 외부에 통합 인터페이스를 제공한다.

📜 특징: 상속

새로운 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있게 하는 기능이다.
새로운 클래스 정의 시 이미 구현된 클래스를 상속받아 속성, 기능들을 확장해서 구현한다.

📜 특징: 다형성

한 객체가 상황에 따라 여러가지 다양한 객체 타입을 가질 수 있는 것이다.
오버로딩(Overloading), 오버라이딩(Overriding), 함수형 인터페이스 등을 통해 구현할 수 있다.

🔎 자바 설치: JVM? JRE? JDK?

자바를 설치하려고 하면 위와 같은 용어가 많이 나오는데, 헷갈리고 어려울 수 있다.
차이점이 무엇인지, 어떻게 설치하면 좋을 지 알아봤다.

JVM(Java Virtual Machine)

JVM은 자바 가상 머신의 약자이다.
JVM은 운영체제와 자바 파일을 이어주는 역할을 한다. JVM을 통해 우리는 운영체제에 구애받지 않을 수 있다.

JRE(Java Runtime Environment)

JRE는 자바 애플리케이션을 생성하고 실행하기 위한 구성요소이다.
자바 클래스 라이브러리를 통해 JVM이 자바 코드를 실행할 수 있게 한다.

JDK(Java Development Kit)

JDK는 자바 개발을 위한 도구들로 이루어져 있다.
자바 개발을 위해서는 JDK를 꼭 설치해야 한다.

JVM, JRE, JDK의 관계

JVM은 JRE에 포함되어 있다. JRE는 JDK에 포함되어 있다.
즉 JDK에는 JVM과 JRE가 모두 포함되어 있다.
따라서 자바 개발 시 JVM과 JRE를 따로 설치할 필요 없이 JDK만 설치하면 된다.

🛠 JDK 자바 SE(Standard Edition) 설치

Oracle Java SE 🔗
나는 개발을 위해 SE를 설치했다. 제일 흔하고 공통적인 JDK라고 한다.

🔎 환경 변수 설정

JDK를 설치하면 시스템 환경 변수를 설정해야 한다.
시스템 환경 변수 편집에 들어가서 JAVA_HOME 이름으로 시스템 변수를 만들어준다.
변수 값에는 자바를 설치한 폴더를 입력한다.
그리고 변수를 Path에 등록한다.

댓글남기기