Java[0] - Java란?

Java에 관한 지식 공유에 앞서, Java라는 언어가 어떤 언어인지
설명하는 시간을 가지도록 하겠습니다.

Java란?

Java는 1991년 Sun Microsystems에서 James Gosling에 의하여 설계되었으며, 처음에는 Green 혹은 Oak로 불렸습니다.

당시의 Internet의 출현으로 HW에서 쓰일 목적이었던 Java는 Web으로 방향을 전환하면서, 1995년에 이름이 Java로 변경되어 출시됩니다.

추후 2009년, Sun Microsystems가 Oracle에 인수합병되어 저작권은 Oracle이 현재 지니고 있습니다.

그렇다면, Java는 어떤 특징을 지니고 있을까요?

Java의 특징?

Java는 OOP(Object Oriented Programming)입니다.
즉, Java는 캡슐화, 상속성, 다형성을 강하게 고증 및 지원합니다.

Java는 이식성이 높은 컴파일 언어인 동시에 인터프리터 언어입니다.
단 한번의 코드 작성이후에는 실행환경에 상관없이 JVM(Java Virtual Maching)이 설치된 JRE(Java Runtime Environment)에서 실행이 가능합니다.
또한, 텍스트 소스를 Binary로 컴파일하여 JRE에서 인터프리트하며 실행하기에 인터프리트를 하면서 컴파일의 성능을 냅니다.

Java는 메모리를 자동으로 관리합니다.
Java는 더이상 쓰이지 않고 RAM을 차지하는 데이터를 자동으로 탐색하여 제거하는 GC(Garbage Collector)가 있습니다. 따라서 개발에 있어서 추가로 메모리 관리를 신경쓸 필요가 없습니다.
참고로 GC의 종류에는 Serial, Parellel, Concurrent 등...이 있습니다.

Java는 Open Source이며, 풍부한 Library를 제공합니다.
다양한 고급기능들이 소스코드 차원에서 지원되기 때문에, Java 개발자들은 프로그램의 설계, 제작, 유지보수를 보다 수월하게 합니다.

여기까지 읽으셨다면, Java를 어느 분야에서 쓰는지도 궁금하실겁니다.

Java가 쓰이는 분야?
이러한 질문은 솔직히 의미가 없습니다.
왜냐하면, 마음만 먹으면 2진수로 이뤄진 기계어로 방대한 노력과 시간을 투자하면, ML, Mobile App, BE, GUI, FE 등... 뭐든지 다 할수 있습니다.
즉, 언어를 가지고 선을 긋는 것은 좋은 습관이 아니지만,
제가 Java를 사용하는 분야들을 몇가지 설명드리겠습니다.

  • Android Application
    Android OS가 Java로 만들어졌기에, 호환성을 위해서 Android에서 쓰이는 앱들은 Java로 개발됩니다.
    대표적으로 Android Studio를 통해 개발이 됩니다.
  • Spring + Boot, Batch, Cloud
    앞서, Java는 Web으로 방향성을 전환했다고 언급했습니다.
    그렇다면, Java로 만들어진 Web Framework가 있어도 이상하지 않겠죠?
    Spring은 Java로 만들어진 프레임워크로써 AOP(Aspect Oriented Programming)을 고수합니다.
    뒤의 Boot, Cloud, Batch에 관해서는 추후 알아보시죠.

어떤가요?
이렇게 매력적인 Java 한번 자바보고싶지 않나요?
호호호호호호호호

	

좋은 웹페이지 즐겨찾기