728x90
✨ 이 글은 [ 코드프레소 Java 웹 개발 체험단 활동 ] 내용입니다 ✨
💜 코드프레소 이러닝 강의 수강 중 - 처음 시작하는 Java 프로그래밍 💜
😎 아래의 링크를 통해 프리미엄 IT 교육 서비스, 코드프레소를 확인해보세요 😎
프리미엄 IT 교육 서비스 - 코드프레소
www.codepresso.kr
(오.. 나 무슨 광고알바 같네ㅋㅋㅋ 광고 아니고 체험단입니다~)
Java 언어 소개
Java 언어의 탄생
- 1991년 제임스 고슬링 주축인 그린 프로젝트로 시작
- TV 셋톱박스 등의 다양한 종류의 기기에서 동작하는 언어를 지향
- 1995년 Sun MicroSystems에서 Java 1.0 공식 발표
- 2021 현재 Java 18까지 출시됨
Java 언어의 특징
- WORA - Write Once Run Anywhere
- Java 이전 C, C++은 하드웨어의 의존적이다 -> 다른 종류의 하드웨어에서 실행하기 위해서는 재 컴파일 필요하다
- Java는 한번 작성 및 컴파일 된 결과물이 어디서든 동작 가능 -> JVM(Java Virtual Machine)이 핵심이 된다!
- 객체 지향 언어
- Java 코드는 class를 기본 단위로 구성된다
- 상속, 다형성, 캡슐화 등의 객체지향적 요소를 언어적으로 지원한다
- 자동화 된 메모리 관리
- 프로그램은 컴퓨터 메모리를 사용해 동작한다
- 이 때 메모리 자원은 한정적이며, 효율적인 관리가 필수다
- Java는 JVM의 Garbage Collector가 사용되지 않는 메모리 자원을 회수한다
- 따라서 개발자가 직접 메모리 관리를 하지 않아도 된다
Java 언어 적용 분야
- Java 언어는 다양한 분야에 적용될 수 있다
- 모바일 애플리케이션 개발
- 웹 애플리케이션 개발
- 빅데이터 솔루션 개발
- 데이터베이스 개발
- 데스크탑 GUI 어플리케이션 개발
- 빅데이터 분석, 머신러닝
- 게임 개발
- 임베디드 SW 개발
Java 주요 용어
소스코드의 실행 과정
- 소스코드를 컴퓨터가 이해할 수 있는 실행 파일로 만들어주는 과정
C언어의 플랫폼 의존성
- C언어의 경우 다른 플랫폼에서 동작하려면 컴파일 과정을 다시 수행해야만 한다
- 만약 윈도우 프로그램을 리눅스에서 동작하도록 하려면 아래와 같이 컴파일을 다시 해야한다
Bytecode와 JVM
1. Bytecode
- Java 소스코드를 빌드했을 경우 생성되는 중간 코드이다
- 어셈블리어와 유사한 형태를 갖는다
- 기계가 바로 실행할 수 없다
2. JVM
- Jaa Virtual machine
- Bytecode를 싱행하기 위한 가상 머신
- Wrtie Once, Run Anywhere를 구현하는 핵심
- OS, HW 독립적으로 Bytecode를 실행할 수 있다
- 즉, JVM이 Java Bytecode와 OS/HW 사이의 번역기 역할을 수행하는 것이다
- 단, Window와 Linux용 JVM이 따로 존재하기 때문에 각각 설치를 해줘서 사용해야 한다
JRE
- Java Runtime Environment
- JVM + Java 애플리케이션 실행에 필요한 추가적인 라이브러리 등을 포함한다
- Java 애플리케이션을 실행하기 위한 기본 단위가 된다
JDK
- Java Development Kit
- JRE + Java 개발 도구를 포함한다
- Java 개발을 위해서는 JDK 설치가 필수적이다
정리!
- Java 소스코드를 컴파일하면 Bytecode라는 중간 코드가 생성된다
- JVM으로 플랫폼에 대해 독립적인 WORA를 구현한다
- JRE는 실행 환경, JDK는 개발 도구를 제공한다
728x90
'코드프레소 체험단 > Java 프로그래밍' 카테고리의 다른 글
[처음 시작하는 Java 프로그래밍] 배열 (0) | 2022.01.14 |
---|---|
[처음 시작하는 Java 프로그래밍] 조건문 (0) | 2022.01.14 |
[처음 시작하는 Java 프로그래밍] 변수와 연산자 (0) | 2022.01.13 |
[처음 시작하는 Java 프로그래밍] 나의 첫 Java 애플리케이션 (0) | 2022.01.13 |
[처음 시작하는 Java 프로그래밍] 실습 환경 세팅 (0) | 2022.01.13 |
댓글