Java 프로그래밍 언어 소개

Weed·2024년 2월 16일
0

웹 개발 기초 완성

목록 보기
1/4

Java 언어 소개

Java 언어 특징

1. WORA - Write Once Run Anywhere

  • Java 이전 C, C++은 하드웨어에 의존적 - 다른 종류의 하드웨어에서 실행하기 위해서는 재 컴파일 필요 ex) 윈도우에서 컴파일한 파일을 리눅스에서 실행 못함

  • Java는 한번 작성 및 컴파일 된 결과물이 어디서든 동작 가능 - JVM (Java Virtual Machine)이 핵심

2. 객체 지향 언어

  • Java 코드는 class를 기본 단위로 구성
  • 상속, 다형성, 캡슐화 등의 객체지향적 요소를 언어적으로 지원

3. 자동화된 메모리 관리

  • 프로그램은 컴퓨터 메모리를 사용 - 메모리 자원은 한정적이며, 효율적인 관리가 필수
  • JVM의 Garbage Collector가 사용되지 않은 메모리 자원을 회수 - 개발자가 직접 메모리 관리를 하지 않아도 됨

Java 언어 적용 분야

  • 모바일 애플리케이션 개발
  • 웹 애플리케이션 개발
  • 빅데이터 솔루션 개발
  • 데이터베이스 개발
  • 데스크탑 GUI 애플리케이션 개발
  • 빅데이터 분석, 머신러닝
  • 게임 개발
  • 임베디드 SW 개발

Java 주요 용어

소스코드 실행 과정

  • 소스코드를 컴퓨터가 이해할 수 있는 싱핼 파일로 만들어주는 과정

플랫폼 의존성 - C언어의 예

  • 윈도우 용으로 예를 들 경우

    따라서 linux 용으로 새로 컴파일, 링킹 해야

Bytecode

  • java 소스코드를 빌드(컴파일) 했을 경우 생성 되는 중간 코드
  • 어셈블리어와 유사한 형태
  • 기계가 바로 실행할 수 없음. JVM 위에서만 동작 가능

    위와 같은 코드를 Low-Level 코드라 한다.

JVM

  • Java Virtual Machine
  • Bytecode를 실행하기 위한 가상 머신
  • Write Once, Run Anywhere를 구현하는 핵심
  • OS, HW 독립적으로 Bytecode를 실행 - Java Bytecode와 Os/HW 사이의 번역기

Bytecode와 JVM

  • C언어와는 다르게 어떠한 환경에서도 실행 가능

JRE

  • Java Runtime Environment
  • JVM + Java 애플리케이션 실행에 필요한 추가적인 라이브러리 등을 포함
  • Java 애플리케이션을 실행하기 위한 기본 단위

JDK

  • Java Development Kit
  • JRE + Java 개발 도구를 포함
  • Jave 개발을 위해서는 JDK 설치가 필수
  • 일반적으로 자바를 개발할 때 Oracle 홈페이지에서 JDK 설치
profile
개발자로 전직해보자

0개의 댓글