Programming/Java

[Java9 프로그래밍] 01. 자바 시작하기

빠모스 2020. 3. 13. 18:37
반응형

들어가기 앞서

 

자바는 학원에서 맛보기 식으로 잠시 배웠었지만, 기초는 한참 부족했었다.

폴리텍 대학에서 제공하는 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 - 컴퓨터 선구자
반응형