이것이 자바다 - 1.1 프로그래밍 언어란?
ETC 2019. 3. 29. 22:22https://docs.oracle.com/javase/8/docs/api/
프로그래밍 언어란?
자바란?
자바개발 환경 구축
자바 프로그램 개발 순서
주석과 실행문
이클립스 설치
풀인원 설치와 실행 [확인문제]
풀인원 : 자바개발 환경 구축에서 생겨나는 다양한 문제를 해결하기 위해 하나의 파일로 제공하는것
(자바개발 환경 구축 + 이클립스 설치)
프로그래밍 언어 : 소스파일을 작성할때 사용되는 언어
프로그래밍 언어 작성 -> 컴파일러 -> 기계어 -> 실행
자바란?
1995년 썬마이크로 시스템즈 (썬) 에서 최초로 발표한 언어
- 가전제품에 사용할 목적인 Oak(오우크)언어에서 시작
- 인터넷 프로그래밍 언어 (네트워크 프로그래밍 언어)로 발전하면서 Java 이름으로 변경
2010년 오라클에서 인수하여 Java개발, 관리, 배포를 주관하고 있다.
자바의 특징
이식성이 높은 언어다
소스코드 파일 -> 컴파일 -> 클래스 파일 -> 실행 (MS윈도우, 리눅스, 맥)
객체지향언어이다.
OOP(Object Oriented Programming)란?
- 부품 객체를 먼저 만들고 이것들을 조합해서 전체 프로그램을 완성하는 기법
자바는 처음부터 OOP 개발용 언어로 설계되었다.
- 캡슐화, 상속, 다형성 기능을 완벽 하게 지원
자바 8
함수적 스타일 코딩을 지원한다.
함수적 스타일 코딩 방식인 람다식 (Lambda Expressions)을 지원
- 코드를 간결하게 작성할 수 있다.
- 컬렉션 요소를 필터링, 매핑, 그룹핑, 집계 처리시 주로 사용.
메모리를 자동으로 관리 (GC)
- 사용하지 않는 객체를 자동으로 메모리에서 제거
- 메모리 관리보다 핵심 기능 코드에 집중할수 있도록 해줌
다양한 애플리케이션을 개발할수 있다.
- 콘솔프로그램, UI애플리케이션, 서버애플리케이션, 모바일 앱 등을 개발 할수있다.
- 다양한 애플리케이션을 위한 개발도구와 API를 에디션 형태로 구분
Java SE(Standard Edition) 기본 에디션
- 자바 프로그램을 실행 시키는 JVM정의
- 자바 프로그램들이 공통으로 사용하는 개발 도구와 API정의
- 구현체 JDK (Java Development Kit)
Java EE(Enterprise Edition) - 서버 애플리케이션 개발 에디션
- 웹 애플리케이션, 웹 서비스, 분산 컴포넌트를 위한 개발도구와 API정의
- 구현체 : WAS (Web Application Sever) -Tomcat, WEbLogic, Jeus, Jboss 등
Java ME(Micro Edition)
- 임베디드 또는 모바일 장비를 위한 개발도구와 API정의
멀티 스레드 (Multi-Thread)를 쉽게 구현할 수 있다.
- 동시에 여러작업을 할 경우
- 대용량 작업을 빨리 처리할 경우
- 운영체제 별로 멀티 스레드를 이용하는 API가 다름 -> Java API로 일관된 생성 및 관리
동적 로딩(Dynamic Loading)을 지원한다.
- 미리 객체를 만들어 놓지 않고 필요한 시점에서 동적으로 로딩해서 객체를 생성
- 유지보수시 특정 객체만 쉽게 수정 및 교체 하여 사용할수 있음.
막강한 오픈소스 라이브러리가 풍부하다.
자바 개발 도구 (JDK)설치
- Java SE 구현체의 종류
- JDK (Java Development Kit) = JRE + 개발도구 (자바 프로그램을 개발하고 실행하기 위해 반드시 설치 )
- JRE (Java Runtime Environment) = JVM + 표준 클래스 라이브러리 (자바 프로그램을 실행만 할 경우 )
JDK설치
- 설치 파일 다운로드 : https://www.oracle.com/technetwork/java/javase/overview/index.html
환경변수 생성 및 수정
'ETC' 카테고리의 다른 글
(java) Jackson (0) | 2019.04.03 |
---|---|
(java) File (상대경로) (0) | 2019.04.03 |
Jenkins 젠킨스 + Unity 빌드 (0) | 2019.02.08 |
[나스] 데이터 연결을 수립하지 못함: ECONNREFUSED - 서버에서의 연결 거부 (0) | 2018.05.01 |
winnie-the-pooh-home-run-derby (0) | 2018.04.09 |