프로그래밍 언어
- 프로그램 작성 언어
- 기계어
- 0, 1의 이진수로 구성된 언어
- 컴퓨터의 CPU는 기계어만 이해하고 처리 가능
- 어셈블리어
- 기계어를 명령을 ADD,SUB,MOVE 등과 같은 표현하기 쉬운 상징적인 단어인 니모닉 기호로 일대일 대응시킨 언어
- 고급언어
- 사람이 이해하기 쉽고, 복잡한 작업, 자료구조, 알고리즘을 표현하기 위해 고안된 언어
- Pascal, Basic, C/C++, JAVA, C#
- 절차 지향 언어와 객체 지향 언어
절차 지향 언어 VS 객체 지향 언어
절차 지향 언어
- 장점
- 절차에 따른 순차적인 처리가 중시 되는 언어
- 프로그램 전체가 유기적으로 연결되어 있음
- 컴퓨터의 처리구조와 유사헤서 실행속도가 빠름
- C언어
- 단점
- 유지보수의 어려움
- 엄격하게 순서가 정해져 있어 비효율적
- 디버깅이 어려움
객체 지향 언어
실제 세계를 모델링하여 소프트웨어 개발 (캡슐화 상속 다형성 추상화)
- 장점
- 코드의 재활용성이 높은
- 코딩이 절차지향보다 간편함
- 디버깅이 쉬움
- 단점
- 느린 개발 속도
- 느린 실행 속도
- 높은 난이도
자바
- 1991년 그린 프로젝트
- 선마이크로시스템즈의 제임스 고슬링에 의해 시작
- 가전 제품에 들어갈 소프트웨어를 위해 개발
- 목적
- 플랫폼 호환성 문제 해결
- 기존 언어로 작성된 프로그램은 PC, 유닉스, 메인 프레임 등 플랫폼 간에 호환성 없음
- 소스를 다시 컴파일하거나 프로그램을 재 작성해야 하는 단점
- 플랫폼 독립적인 언어 개발
- 모든 플랫폼에서 호환성을 갖는 프로그래밍 언어 필요함
- 네트워크, 특히 웹에 최적화된 프로그래밍 언어의 필요성 대두
- 메모리 사용량이 적고 다양한 플랫폼을 가지는 가전 제품에 적용
- 가전 제품 : 작은 량의 메모리를 가지는 제어 장치
- 내장형 시스템 요구 충족
- 오크 (OAK) = 초기 이름
- 인터넷과 웹의 엄청난 발전에 힘입어 퍼지게 됨
- 웹 브라우저 Netscape에서 실행
- 플랫폼 호환성 문제 해결
WORA(Write Once Run Anywhere)
- 한번 작성된 코드는 모든 플랫폼에서 바로 실행
- C/C++ 기존 언어가 가진 플랫폼 종속성 극복
- 네트워크에 연결된 어느 클라이언트에서나 실행
WORA를 가능하게 하는 자바의 특징
- 바이트 코드 (byte code)
- 자바 소스를 컴파일한 목적 코드
- CPU에 종속적이지 않은 중립적인 코드
- JVM에 의해 해석되고 실행 됨
- JVM(Java Virtual Machine)
- 자바 바이트 코드를 실행하는 자바 가상 기계(소프트웨어)
출처
명품 JAVA Programming, 개정 4판 [교재]
'Study > JAVA' 카테고리의 다른 글
[JAVA] main() 메소드 (0) | 2023.11.29 |
---|---|
[JAVA] 주석문 (0) | 2023.11.26 |
[JAVA] 클래스 만들기 (0) | 2023.11.22 |
JAVA 메소드 오버라이딩 vs 메소드 오버로딩 (0) | 2023.11.20 |
JAVA Eclipse 설치 방법 (JDK 설치 포함) (0) | 2023.09.12 |