-
Java란?Programming/Java 2021. 1. 3. 22:41
Java란?
Java
Java는 1991년 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 객체 지향 언어이다. 처음에는 가전제품 내에 탑재하여 동작하는 프로그램을 위해 개발되었다. 최근에 와서는 웹 애플리케이션 개발에 가장 많이 사용되고 있는 언어이다. 제임스 고슬링은 처음 이 언어의 이름을 오크 나무의 Oak라고 불렀지만 이미 Oak라는 상표가 등록되어 있었기 때문에 후에 Java로 개명한 후 출시하였다.
2009년 데이터베이스로 유명한 오라클 사는 선마이크로시스템즈를 인수하여 현재는 오라클에서 자바를 제공하고 있다. https://www.oracle.com/kr/java/
Java의 특징과 장점
1. 객체 지향 언어
- 캡슐화: 객체를 캡슐로 감싸서 내부를 보호하고 볼 수 없게한다. 외부와의 접근을 위해서 몇 부분만을 public하게 노출한다.
- 상속: 부모 객체의 속성과 행위를 자식 객체에게 물려준다. 자식 객체는 부모 객체의 속성을 가지고 있다. Java에서는 이미 만들어진 클래스의 필드와 메소드를 물려받도록 하고 코드의 중복 작성을 방지하고 재사용을 가능하게 한다.
- 다형성: 같은 이름의 메소드 호출에 대해 객체에 따라 다른 동작을 할 수 있도록 구현되는 것을 의미한다.
2. 멀티스레드
Java는 하나의 애플리케이션에 다수의 스레드가 동시에 실행할 수 잇는 환경을 제공한다. 멀티스레드를 작성하기 위해서는 운영체제가 멀티스레드를 지원해야 하고 관련된 API나 라이브러리를 제공해야 사용할 수 있다. C, C++의 경우 자체적으로 멀티스레드를 지원하지 않기 떄문에 운영체제의 도움을 받아야 한다.
3. 플랫폼 독립적
C, C++의 경우 컴파일러는 기계어코드로 변환할 때 프로그램이 실행되는 대상 컴퓨터의 CPU의 운영체제에 종속적인 코드로 변환한다. 예를 들면 intel CPU를 사용하는 윈도우 환경에서 컴파일한 실행파일은 리눅스 환경에서 실행되지 않는다.
Java는 이러한 플랫폼에 독립적으로 운영될수 있도록 설계되었다. 운영체제나 하드웨어에 상관없이 JVM(Java Virtual Machine)이 있으면 어디서든 Java로 작성된 애플리케이션에 동일한 실행 환경을 제공하고 동일한 실행 결과를 기대할 수 있다. 이렇게 한 번 프로그램을 작성하면 어느 하드웨어, 운영체제에서나 Java를 실행시킬 수 있다. 이를 WORA(Write Once Run Anywhere)라고 한다.
4. 실행 모듈
Java 애플리케이션은 다수의 클래스 파일로 구성된다. 다수의 클래스 파일은 jar 파일 형태로 압축하여 배포 또는 실행이 가능하다. Java의 실행은 main() 메소드에서 시작되고, 하나의 클래스 파일에 하나 이상의 main()메소드가 있을 수 없다.
5. 클래스로 캡슐화 구현
Java에서는 모든 변수와 메소드를 클래스 내부에 구현해야 한다. 클래스 외부에 함수를 작성할 수 없다.
6. 패키지
Java는 서로 관련 있는 클래스를 패키지로 묶어서 관리할 수 있다. 패키지는 파일 시스템의 폴더 개념과 비슷하다. java.lang.System 클래스는 java/lang 폴더의 System.class 파일을 나타내고, java.lang은 패키지를 나타낸다.
Java가 주로 쓰이는 곳
Java는 대체적으로 웹, 모바일 애플리케이션, 금융기관 및 게임 등 여러 분야에서 활용되고 있다. 특히 Java를 기반으로 제작된 Spring Framework는 대형 정보시스템의 대세 기술이다.
Java vs C/C++
- C : 절차 지향 언어
- C++ : 객체 지향 언어, 동적 메모리를 직접 관리한다.
- Java : 객체 지향 언어, 동적 메모리를 가비지 컬렉터가 관리한다.
- C/C++는 기계어 코드로 컴파일되어 프로세스에 의해 직접 실행된다.
- Java는 바이트코드로 컴파일되어 JVM의 인터프리터와 JIT컴파일러가 해당 바이트코드를 기계어로 변환한다.
그렇기 때문에 C관련 언어가 Java보다 상대적으로 처리 속도가 빠르다.
- C는 운영체제 개발에 사용된다.
- C++은 게임 서버를 개발하는데 주로 사용된다.
- Java는 주로 웹 서버 애플리케이션 개발에 사용된다.
References.
Java란?(자바의 장점,단점)
JAVA란?-자바 언어는 객체지향프로그래밍 언어로서 1991년 제임스 고슬링을 포함한 썬 마이크로시스템...
blog.naver.com
자바 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 자바Java패러다임프로그래밍 패러다임: 객체 지향 프로그래밍 (클래스 기반 프로그래밍), 구조적 프로그래밍, 명령형 프로그래밍, 제네릭 프로그래밍, 반영, 병
ko.wikipedia.org
C 프로그래밍 언어가 여전히 최고인 이유 : 개발언어 일대일 비교
어느 기술이든 다른 기술보다 어떤 일을 특별히 잘 하지 않는 50년 이상 살아남을 수는 없다. 더구나 컴퓨터 기술이라면 두 말할 필요도 없다. 그런데 C 프로그래밍 언어는 1972년부터 사용되기 시
www.itworld.co.kr
'Programming > Java' 카테고리의 다른 글
[Java] Integer.parseInt(), Integer.valueOf() (0) 2021.03.17 [Spring] Singleton Container (0) 2021.01.08 Singleton Pattern 싱글톤 패턴 (0) 2020.12.30 SOLID, 좋은 객체 지향 설계의 5가지 원칙 (0) 2020.12.23 Spring 간단 정리 (0) 2020.12.23