새소식

Study/Java

[Java] 자바의 기초(1)

  • -

참고 : 명품 JAVA Programming (개정 4판) 저자 황기태, 김효수 

 

  • Java의 특징

1. Java는 객체지향 언어

 

 처음 프로그래밍 언어가 등장하였을 때에는 컴퓨터의 CPU가 2진수밖에 인식하지 못하였기 때문에, 2진수로 되어 있는 명령어(기계어) 들을 이용하여 프로그램을 작성하였지만 사람이 기계어를 작성하는 건 매우 힘들었다. 이것을 기계어의 명령들을 표현하기 쉬운 니모닉 기호(mnemonic symbol)로 일대일 대응시킨 어셈블리어(assembly language)가 만들어졌다. 이것 또한 이해하기 힘들어 지금 현재에 있는 고급언어가 생겨났다. 고급언어는 절차 지향 언어의 형태에서 지금의 객체지향 언어로 진화했다. 대표적인 객체지향 언어로는 C++, Java, C# 등이 있다. 프로그래밍 언어를 작성하면 컴퓨터는 기계어를 인식하기 때문에 중간에 번역하는 과정이 필요한데, 이것을 컴파일(compile)이라고 한다. 각 언어마다 전용 컴파일러가 있으며 Java에서는 .class파일이 컴파일되며 클래스 파일은 JVM에 의해 실행된다. 

 

2. WORA(Write Once Run Anywhere)

 

 자바는 플랫폼에 독립적으로 설계되었다. 운영체제나 H/W에 상관없이 JVM이 있으면 어디서나 동일한 실행 환경을 제공하며 동일한 실행 결과를 기대한다. 

 

3. JVM, Byte Code

 

 자바의 플랫폼 독립성을 가능하게 하는 것은 JVM과 Byte Code 때문이다.

 

- Byte Code : JVM에서만 실행되는 기계어

- JVM(Java Virtual Machine) : 서로 다른 플랫폼에서 자바 프로그램이 실행되는 동일한 환경을 제공

 

4. JDK와 JRE

 

- JDK(Java Development Kit) : 자바 개발자에게 무료로 배포하는 S/W

- JRE : 자바 응용프로그램이 실행될 때 필요한 S/W들(Java API와 JVM을 포함)

※ API(Application Programming Interface) : 이미 컴파일된 다양한 클래스 라이브러리

 

5. 클래스로 캡슐화

 

 객체 지향 언어의 캡슐화(encapsulation) 원칙을 철저히 지켜, 변수나 메소드는 반드시 클래스 내에서 구현하도록 한다.

 

6. 패키지 

 

 서로 관련 있는 클래스는 패키지로 묶어 관리한다. 패키지는 파일 시스템의 폴더와 같은 개념이다.

 

7. 멀티스레드

 

하나의 자바 프로그램이 여러 작업을 처리할 수 있도록 다수의 스레드가 동시에 실행할 수 있는 환경을 지원한다.

 

8. 가비지 컬렉션

 

 자바는 메모리를 할당받는 기능은 있지만, 메모리를 반환하는 기능은 없다.

 

 

 

 

 

728x90

'Study > Java' 카테고리의 다른 글

[Java] 클래스와 객체  (0) 2022.05.27
[Java] 예외처리  (0) 2022.05.17
[Java] 배열  (0) 2022.05.17
[Java] 반복문  (0) 2022.05.17
[Java] 자바의 기초(2)  (0) 2022.05.12
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.