JAVA/JAVA 개념

JAVA 개념 1-1 - 자바란?

kms152000 2022. 9. 14. 17:09

자바의 탄생

 자바는 1991년 그린 프로젝트라는 이름으로 시작되었습니다. 1995년 썬 마이크로시스템즈의 제임스 고슬링에 의해 개발된 객체 지향적 프로그래밍 언어입니다. 고슬링은 자바 커피를 하루에도 10여 잔씩 마실 정도로 자바를 좋아했다고 합니다. 자바 로고에 커피가 있는 이유입니다.

 처음에는 가전제품 내에서 동작하는 프로그램이 주된 목적이었지만 현재는 웹 및 애플리케이션 분야에서 가장 많이 사용되고 있습니다.

 

자바언어의 특징

  • 자바는 간결하고, 객체지향 프로그램 언어입니다. 
  • 오픈소스 라이브러리를 이용해 생산성 향상과 유지보수 비용 절감이 가능합니다.
  • GUI 기반의 응용 및 정밀한 하드웨어 제어 프로그램 개발에는 적합하지 않습니다.
  • 여러 운영체제나 하드웨어에서도 동일하게 실행 가능합니다.

 

객체지향언어

의미

 컴퓨터 프로그래밍의 한 가지 기법으로 다수의 객체를 만들고 객체들을 사용하여 이들이 서로 상호작용을 통해 만들어지는  방법입니다.

예시

 사람을 예시로 들겠습니다. 사람 1명이 있습니다. 그 사람은 이름과 나이와 주민등록번호, 그리고 취미와 같이 상태를 가지고 있고, 자거나 뛰기, 걷는 행위를 할 수 있습니다. 이 모든 게 객체입니다.

특징

  • 캡슐화
  • 상속
  • 다형성

장점

  • 상속을 이용한 코드의 재사용을 높일 수 있습니다. 
  • 잘 설계된 클래스를 만들면 생산성이 향상됩니다.
  • 자연적인 모델링이 가능합니다.
  • 캡슐화로 인해 모듈끼리의 의존성이 낮습니다. 그러므로 유지보수의 우수성이 높습니다.

단점

  • 다중 상속으로 인해 개발 속도가 느려집니다.
  • 함수 호출이나 연산 등으로 인해 실행 속도가 느려집니다.
  • 코딩 난이도가 상승합니다.

 

서블릿과 JSP

  • 1997년 공식 발표되었으며 자바에서 웹 프로그램 개발을 지원했습니다.
  • 인터넷의 발달로 서블릿은 자바의 대표적인 구현 분야가 됐습니다.
  • JSP는 서블릿 응용 기술로 웹 화면(HTML)에 자바 코드를 사용해 웹 프로그램 개발 효율을 높였습니다.
  • 오랫동안 웹 개발의 기본 기술이었으나 프론트엔드와 백엔드 개발환경의 변화 등으로 인해 예전보다 직접적인 사용 비율은 낮아졌습니다.

 

이클립스

  • 1999년 IBM이 개발해 오픈소스로 기증한 자바 기반의 통합 개발도구 플랫폼입니다.
  • 자바 성장의 큰 기여를 했으며 자바의 기본 통합 도구로 자리 잡았습니다.
  • 이클립스는 자바 이외의 언어 개발도 지원합니다.

 

스프링 프레임워크

  • 스프링 부트로 인해 개발이 간소화됐습니다.
  • 대규모 시스템 개발(엔터프라이즈 환경)에 적합한 오픈소스 프레임워크입니다.
  • 백엔드 시스템 구현에 사용되고 우리나라에서의 활용도가 높습니다.
  • 공공 개발에 요구되는 전자정부 프레임워크도 스프링 기반입니다.