자바의 특징
운영체제에 독립적이다.
자바는 일종의 에뮬레이터인 자바가상머신(JVM)을 이용하기 때문에 운영체제에 적응하기 위해 노력을 하지 않아도 된다.
자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.
객체지향 언어이다.
논리를 잡고 나머지는 조립하라!
요즘의 컴퓨터 언어는 객체 지향 언어로 개발된다.
자바(Java)는 프로그래밍의 대세로 자리 잡은 객체지향 프로그래밍언어 중의 하나로 객체지향 개념의 특징인 상속,
캡슐화, 다형성이 잘 적용된 순수한 객체지향언어라는 평가를 받고 있다.
상속의 개념을 생각해보자. 부모 객체로부터 자식 객체는 상속을 한다.
자식 객체가 부모 객체로부터 상속을 받으면 부모 객체의 데이터와 메서드를 사용할 수 있다.
비교적 배우기 쉽다.
자바의 연산자와 기본 구문은 C++에서, 객체지향관련 구문은 스몰톡(small talk)이라는 언어에서 가져왔다.
이들의 장점은 취하면서 복잡하고 불필요한 부분은 과감히 제거하여 단순화 했다.
자동 메모리 관리(Garvage Collection)
자바로 작성된 프로그램이 실행되면 가비지컬렉터(Garvage collector)가 자동적으로 메모리를 관리해준다.
네트워크와 분산 처리를 지원한다.
네트워크 프로그래밍 라이브러리(java API)를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원한다.
멀티쓰레드를 지원한다.
하나의 프로세스를 다수의 스레드로 구성하여 서로 자원을 공유하고, 이를 통해 자원을 효율적으로 사용하여 작업 처리 속도를 향상시키는 것
자바에서 개발되는 멀티쓰레드 프로그램은 시스템과는 관계없이 구현가능하며, 관련된 라이브러리(java API)가 제공돼서 구현이 쉽다.
동적로딩을 지원한다.
자바는 여러 개의 클래스로 구성되어 있고 동적로딩을 지원하기 때문에 실행 시 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다.
-
I/O 란 ?
Input(입력) / Output(출력) 을 뜻합니다.
System은 input(입력), process(처리), output(출력)으로 구성되어 있다.
" 3 + 4 = 7 "
3과 4는 input
'+'는 process
7은 output
'Programming > Java' 카테고리의 다른 글
[Java] 조건문 (if, switch) 개념 및 활용 예제 (0) | 2020.04.13 |
---|---|
[Java] 형 변환 (Type Conversion) - 개념 및 규칙 (강제, 자동) (0) | 2020.04.12 |
[Java] 연산자 (Operator) (0) | 2020.04.12 |
[Java] 변수 (Variable), 자료형 & 참조형, Stack & Heap (0) | 2020.04.12 |
[Java] public static void main(String [] args) 의미 알아보기 (3) | 2020.04.12 |