반응형
들어가기 앞서
자바는 학원에서 맛보기 식으로 잠시 배웠었지만, 기초는 한참 부족했었다.
폴리텍 대학에서 제공하는 Java9 프로그래밍 인강을 들으며 정리한 내용을 적어내려가며 복습하고자 한다.
자바의 특징
고 수준 범용 언어
- 서버 개발, 데스크톱 애플리케이션
- 안드로이드용 네이티브 언어
객체지향 언어
- 자바8에서 함수형 언어 모습 추가
플랫폼 독립적
- 각 플랫폼용 JVM이 제공 (Java Vertual Machine)
- 최적화된 JVM으로 성능과 안정성 보장
Java Code(.java) => JAVAC compiler => Byte Code(.class) => JVM(운영체제별로 다름) => Windows/Linux/Mac
==> 자바는 최적화된 JVM 위에서 동작하는 객체지향 언어이다.
자바의 역사
- 1996년 Java 1.0
- 1998년 Java 2
- 2000년 J2SE 1.3
- 2002년 J2SE 1.4
- 2004년 J2SE 5.0
- Generic, foreach 루프, static import, Type Safe Enum
- AutoBoxing/unBoxing, Concurrent API
- 2006년 J2SE 6
- JavaSE6까지는 Sun Microsystems에서 Java에 대한 주요 스펙을 만듦.
- JAX-WS(Web Service Client), 모니터링 및 관리기능 강화, 스크립트 언어 지원
- 2011년 J2SE 7
- JavaSE7부터는 Oracle이 Java에 대한 주요 스펙을 만듦. 오라클에 인수됨.
- String을 이용한 switch 구문, NIO 2.0, Fork-Join에 의한 병렬처리
- try-with-resources구문
- 2014년 J2SE 8
- Lamda, 함수형 프로그래밍, Functional Interface, Stream, default method
- 이때부터 빅데이터 관련 처리가 가능해짐.
- 2017년 J2SE 9
자바 언어 학습의 의미
현실적으로 국내에서 가장 많이 사용
- 백 엔드 개발 : 스프링, 전자정부 프레임워크
- 안드로이드 개발
모던 언어의 모습을 갖추고 있음
- 객체지향 언어와 함수형 언어 기능 제공
폴리글랏(Poly-Glot) 시대에 필수 포트폴리오
- 차세대 JVM 지원언어: Kotlin, Scala 등
- 폴리글랏 시대: 다중 언어의 시대. 하나의 언어만으로 개발자 역량을 갖출 수 없음. 다양한 언어에 대한 포트폴리오를 가지고 있어야 하는데, 자바는 필수다. 씨나 자바같은 클래식한 언어를 하나 가지고 자바스크립트, 코틀린, 스칼라, 파이썬 등의 최소 세 개 이상의 언어를 포트폴리오로 가져가야 한다. 그래서 자바는 필수다.
자바 개발용 IDE(통합 개발 환경)
- NetBeams - 모든 자바 개발을 지원하는 툴(JavaFX, JavaME, web, EJB)
- Eclipse - 오픈소스이며 플러그인으로 기능을 확장할 수 있다.
- Intellij Community Edition - 무료로 사용 가능하며 JetBrains라는 회사에서 만든 개발툴. 자바 개발자들에게 호평을 받고 있다.
- Android Studio - 안드로이드 개발 전용 IDE로써 JetBrains에서 만들어 구글에 납품했다고 알려져있다.
개발자들
- James Gosling - 자바언어 개발
- Tim Berners-Lee - 웹의 아버지
- Guido Van Rossum - 파이썬 언어 개발
- Von Neumann - 컴퓨터 선구자
반응형
'Programming > Java' 카테고리의 다른 글
[Java9 프로그래밍] 07. 함수(메소드) (0) | 2020.03.13 |
---|---|
[Java9 프로그래밍] 05-06. 데이터 구조, ArrayList, Map (0) | 2020.03.13 |
[Java9 프로그래밍] 04. 제어 흐름 (Control Flow) (0) | 2020.03.13 |
[Java9 프로그래밍] 03. 변수와 타입의 이해 2 (0) | 2020.03.13 |
[Java9 프로그래밍] 02. 변수와 타입의 이해 1 (0) | 2020.03.13 |