본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


JAVA

JAVA 스터디 0 - 자바의특징

반응형

Java 책 읽고 정리하기(명품 JAVA Programming 황기태,김효수 지음)

1 . 자바의 특징

 

1) 객체 지향 언어이다.

 자바는 클래스 계층 구조 , 상속성, 다형성 , 캡슐화 등을 지원하는 객체 지향 언어이다. 

객체 지향 프로그래밍이란 실제 세상의 객체와 객체 간의 상호 관계로 모델링하여 인간의 사고에 가깝게

표현하는 방식이다

 

2) 멀티스레드를 지원한다.

 하나의 프로그램에서 다수의 스레드가 동시에 실행할 수 있는 환경을 지원한다. 

멀티스레드 환경의 프로그램을 만들기 위해서는,  운영체제가 멀티스레드를 지원하고 멀티스레드와 관련된 API나

라이브러리를 제공해야 한다.  

C , C++ 같은 언어는 멀티스레드를 자체적으로 지원하지 않아 운영체제의 도움을 받아 멀티스레드를 수행한다.

하지만 자바는 운영체제의 도움없이 자체적으로 멀티스레드를 지원하기 때문에 운영체제가 멀티스레드를 지원하지 않더라도 자바를 이용하면 멀티스레드 프로그램 개발이 가능하다.

 

3) 플랫폼 독립성

 자바는 하드웨어, 운영체제 등 플랫폼에 종속되지 않는 독립적인 바이트 코드로 컴파일 되며 Java virtual machine(JVM)만 있으면 하드웨어나 운영체제의 제한없이 프로그램 개발이 가능하다.

 

4) 소스와 클래스 파일

하나의 자바 소스 파일에는 여러 개의 클래스를 작성할 수 있지만 , 하나의 클래스 파일에는 반드시 하나의 컴파일된 자바 클래스만이 포함된다. 하나의 자바 소스 파일에 여러개의 클래스를 작성한 경우 , 컴파일 후 클래스마다 별도의 클래스 파일이 생성된다.  하나의 소스파일에서 public으로 선언된 클래스는 한개만 존재할 수 있으며 public 으로 선언된 클래스의 이름과 소스파일의 이름이 동일 해야한다. 

 

5) 실행 모듈

자바 응용프로그램은 한 개의 클래스 파일 또는 다수의 클래스 파일로 구성된다. 다수의 클래스 파일을 jar 파일 형태로 압축하여 배포 및 실행이 가능하다. 자바의 실행은 main() 메소드 에서 시작되며 , 하나의 클래스 파일에 하나 이상의 main()메소드가 있을 수 없지만 다수의 클래스 파일이 각각 main()메소드를 가지는 것은 상관 없다 .

 

6) 클래스로 캡슐화

자바는 객체 지향 언어의 캡슐화의 원칙을 철저히 지켜 변수나 메소드는 반드시 클래스 내에 구현한다. 클래스에 속하지 않은 변수나 메소드는 있을 수 없다. 클래스 안에 새로운 클래스, 즉 내부 클래스를 만들 수 있다.

 

7) 패키지

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

 

 

반응형