Java
[Java] 자바의 개념
압뜔라뚜
2025. 1. 3. 23:50
1. 자바의 등장
- 1991년 썬마이크로시스템즈의 엔지니어였던 제임스 고슬링(James Gosling)이 만들기 시작해,
1995년에 버전 1.0 탄생. - 현재 오라클(Oracle)이라는 회사가 인수해서 저작권 소유.
- 안드로이드 스마트폰의 앱을 만드는 언어가 자바를 기반.
(2017년 구글에서 코틀린이라는 언어를 안드로이드 공식 언어로 지정 전에는 자바를 공부해야 했음) - 자바의 기본 문법은 1972년에 나온 C언어와 1989년에 나온 C++ 언어를 많이 따름.
특히, 객체 지향 언어인 C++를 많이 닮음. - C, C++ 보다 더 인기 있는 이유는 자바 언어가 추구하는
WORA (Write Once, Run Any where) 덕분. (플랫폼에 독립적)
WORA : 독립적인 플랫폼
✅ WORA 는 'Write Once, Run Any where'의 약자로 한 번 작성하면 어디에서든 수행될 수 있다는 뜻.
✅ 자바는 호환성이 좋은 언어로, 한 번 컴파일 된 코드는 CPU 환경이 다른 컴퓨터에서도 다시 컴파일하지 않고 수행.
✔️ 자바 코드는 프로그래머가 이해하는 언어로 작성,
이 문서를 컴퓨터가 이해할 수 있는 컴퓨터 언어로 바꾸는 과정을 컴파일이라 한다.
→ 컴파일 된 코드는(.class)는 다양한 플랫폼의 환경에서 실행가능하다. (JVM역할)
2. 자바의 특징
1️⃣ 컴파일러 언어이자 인터프리터 언어
- 자바는 컴파일 과정을 거쳐 컴파일된 `class`가 확장자로 붙는 '바이트 코드(bytecode)가 나옴.
- JVM(Java Virtual Machine)이 바이트 코드를 수행하는데 이 과정이 인터프리터 과정.
- 이러한 특징이 자바의 호환성을 높임
2️⃣ 객체 지향 언어
- 자바는 클래스(class)라는 도구를 이용해서 객체지향 개념을 구현.
- 객체(Object)는 데이터와 그 데이터를 다루는 코드들로 구성. 아래 네가지 중요 개념을 가짐.
① Encapsulation (캡슐화)
: 객체에 필요한 데이터나 기능(메소드)을 그룹화하여 보호하는 것
② Polymorphism (다형성)
: 하나의 코드가 여러 자료형으로 구현되는 것. 똑같은 형태를 가진 코드를 재사용하거나, 조금 수정해서 사용하기 때문에 코드의 절감
③ Inheritance (상속)
: 상위 클래스의 기능을 하위 클래스가 사용할 수 있어서, 중복되는 코드의 재사용 가능
④ Abstration (추상화)
: 실제 세상을 객체화 하는 것이 아니라 필요한 정보만을 중심으로 간소화 하는 것
ex) 지하철 노선도, 교통 표지판