Java (자바)

박영준·2023년 6월 1일
0

Java

목록 보기
77/112

1. 간단 용어 정리

데이터

  • 컴퓨터가 정보를 담는 자료값

데이터 타입(자료형)

  • 데이터의 유형
  • ex. 정수 / 문자 / 부동소수(소숫점)

자료구조

  • 데이터 여러개를 분류해서 담을 수 있는 분류통

문맥

  • 문맥이라 함은 개발언어로 표현한 프로그램의 동작 흐름
  • ex. 이케아 가구 조립 설명서, 밀키트 요리 레시피에 조건에 따른 문맥
    -> 이 처럼 프로그램도 문맥을 가지고 있다.

메서드

  • 데이터와 문맥을 감싸는 포장지

공통 실행환경

  • 여러 기기의 운영환경에서 실행 할 수 있도록 판을 깔아주는 실행환경

운영 체제

  • 기기가 프로그램을 실행시키는 운영환경
  • ex. Window, Android, iOS, Linux …

2. 특징

1) 운영체제에 독립적

  • 기존의 다른 언어와는 달리, 다른 종류의 운영체제(OS)에 적용할 노력이 필요없다는 것이다.

  • 이는 자바가상먼신(JVM) 덕분이다.

    자바 응용프로그램은 JVM과만 통신하는데,
    자바 응용프로그램이 내린 명령을 JVM이 해당 운영체제가 이해할 수 있도록 변환/전달한다.

  • 서로 다른 버전의 JVM이 제공됨

    • 자바로 작성된 프로그램은 운영체제에는 독립적이나,
      JVM이 운영체제에 종속적이기 때문

참고: Java 실행 과정 (컴파일러, 바이트 코드, JVM )

2) 객체 지향 언어

3) 배우기에 쉬움

일반적으로 객체지향언어는 배우기가 어려웠으나,
그 중에서도 Java는 상대적 객체지향개념을 쉽게 활용할 수 있다.

4) 자동 메모리 관리

자바로 작성된 프로그램이 실행되면,
가비지컬렉터(Garbage Collection) 가 자동적으로 메모리 관리를 해주므로, 프로그래머는 따로 메모리 관리가 필요 X

5) 네트워크와 분산처리를 지원

다양한 네트워크 프로그래밍 라이브러리(Java API)를 통해, 비교적 짧은 시간에 개발 가능

6) 멀티쓰레드를 지원

일반적으로 운영체제에 따라 멀티쓰레드의 지원은 구현방법이 달라지지만,

Java에서 개발되는 멀티쓰레드 프로그램의 경우

  • 시스템과는 관계없이 구현 가능
  • 관련 라이브러리(Java API)가 제공되므로, 구현 쉬움
  • 자바 인터프리터가 여러 쓰레드에 대한 스케줄링을 담당

7) 동적 로딩을 지원

  • 실행 시, 모든 클래스를 로딩하지 않아도 된다.
  • 일부 클래스가 변경돼도, 전체 애플리케이션을 컴파일하지 않아도 된다.
  • 애플리케이션 수정 시, 적은 작업만으로도 가능하다.

8) 보안성

  • Java는 안정성이 높아서, 프로그래밍 오류를 방지하고 보안상 안전하다.
  • Java 언어로 작성된 문맥을 바이트 코드로 변환하는 변환기(Compiler)가 먼저 오류를 체크
  • 그 외에도 Java 에서 지원하는 보안 기술 多

9) 대규모 앱 개발

  • 네트워크 및 데이터베이스 연결 및 통신 등의 작업을 처리하는 API를 제공하여, 대규모 앱 개발이 가능하다.
profile
개발자로 거듭나기!

0개의 댓글