[Java] 자바 배우기 전 알아야 할 지식들
헤이베이지 HeyBeige
·2020. 12. 28. 10:36
썬 마이크로시스템즈에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어이다.
제임스 고슬링과 아서 밴 호프를 대표로 썬의 엔지니어들에 의해서 만들어졌으며, 원래 오크(Ock)라는 언어를 인터넷에 적합하도록 개발 방향을 바꾸면서 이름을 자바(Java)로 변경하였다.
1. 운영체제에 독립적이다. 자바 응용프로그램은 운영체제나 하드웨어가 아닌 자바가상머신(JVM)하고만 통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.
자바로 작성된 프로그램은 운영체제에 독립적이지만 JVM은 운영체제에 종속적이어서 썬에서는 여러 운영체제에 설치할 수 있는 서로 다른 버전의 JVM 을 제공하고 있다.
2. 객체지향 언어이다. 객체지향 프로그래밍언어(Object-Oriented Programming Language) 중 하나로 OOP 개념의 특징인 상속(Inheritance),캡슐과(Encapsulation),다형성(Polymorphism)을 적용할 수 있다.
3. 자동 메모리 관리(Garbage Collection). 자바로 작성된 프로그램이 실행되면, 가비지컬렉터가 자동적으로 메모리를 관리해주기 때문에 프로그래머가 메모리는 따로 관리 하지 않아도 된다.
4. 네트워크와 분산처리를 지원한다. 다양한 네트워크 프로그래밍 라이브러리(Java API)를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원한다.
5. 멀티쓰레드를 지원한다. 한 프로세스에서 멀리태스킹이 가능하도록 한다.
6. 동적 로딩(Dynamic Loading)을 지원한다. 자바로 작성된 애플리케이션을 실행 시 모든 클래스가 로딩되지 않고 필요한 시점에서 클래스를 로딩하여 사용할 수 있다는 장점이 있다. 그 외에도 일부 클래스가 변경되어도 전체 애프리케이션을 다시 컴파일 하지 않아도 되며, 애플리케이션의 변경사항이 발생해도 비교적 적은 작업만으로도 처리할 수 있는 유연한 애플리케이션을 작성할 수 있다.
'개발 일지 > JAVA' 카테고리의 다른 글
[Java] 메소드(Method) (0) | 2021.01.07 |
---|---|
[Algorithm] 선택정렬(Selection Sort) (2) | 2021.01.06 |
[Java] 연산자(Operator) (0) | 2020.12.29 |
[Java]형식화된 출력 printf( ) (0) | 2020.12.28 |
[Java] 변수(Variable) (0) | 2020.12.28 |
[Windows] 자바(jdk)와 이클립스(Eclipse) 설치하기 (0) | 2020.12.27 |