자바(JAVA)란 ?

5BRack·2022년 6월 28일

자바란?

목록 보기
1/42

자바란

자바는 1995년 미국의 '썬마이크로시스템즈'라는 회사에서 개발한 객체지향 언어이다.

객체지향언어란?

객체지향 프로그래밍(OOP, Object Oriented Programming)이란 프로그램을 개발하는 기법으로 객체(부품)을 만들고, 이를 조립하여 전체 프로그램을 완성하는 것을 말한다.

  • 객체지향 언어의 특징
  1. 추상화
  • 공통의 속성이나 기능을 묶어 이름을 붙이는 것(예: 나무,사자,뱀은 각 개체이고 이 객체들을 하나로 묶을 때 생물이라 묶을 수 있다.)
  1. 캡슐화
  • 객체가 맡은 역활을 수행하기 위한 하나의 목적을 한데 묶는 것
  • 외부에서 데이터 접근이 불가하고, 정해진 함수만을 이용해 접근
  • 마치 캡슐로 감싼 형태
  1. 상속성
  • 상위 개념의 특징을 하위 개념이 물려받는 것
  • 상속을 받아 하위 개념에서는 기능 추가 및 수정이 가능하다.(예: 상위개념 - 2G 휴대폰(기본 전화기능) 하위개념 - 스마트폰(기본 전화기능 강화(인터넷 전화))
  1. 다형성
  • 상위 개념에서 물려받은 함수를 하위 개념에서는 기능추가 또는 기능수정(오버라이딩)을 하여 사용할 수 있다.

자바 특징

  • 자바는 객체지향 언어이다.
  • 이식성이 높다
    - 운영체제(ex:window)위에 설치되는 자바실행환경 덕에 모든 운영체제에서 실행가능하다
    - 예 : windows -> jvm(Java Virtual Machine)설치 -> 자바사용
    windows 운영체제가 다른 OS로 변경되어도 JVM 설치로 인해 운영체제 상관없이 실행가능하다
  • 인터프린터 언어이다.
    - 컴파일(한번에 일처리) 언어인 동시에 인터프리터(일해야 할때만 일처리) 언어이다.
    • 처음에는 인터프리터 언어로 사용되다, 성능향상을 위해 컴파일 언어의 장점을 가져왔다.(JIT 개념은 추후에 작성)
  • 메모리를 자동으로 관리한다.(JVM에서 관리해준다.)
  • 참조되지 않는 객체는 GC(Gabage Collector)를 실행시켜 객체를 정리해 준다.
  • 멀티 스레드 구현이 된다.(프로그램 > 프로세스 > 스레드 하위종속 개념으로 이루어져 있으며 멀티 스레드를 구성하여 프로그램을 작성할 수 있다.)
  • 분산환경을 지원한다(TCP/IP 라이브러리 지원)
  • 오픈 소스 라이브러리가 풍부하다.(오픈소스 언어이기때문에 라이브러리 및 오픈소스의 양이 방대하다.)
  • 유지보수가 편하다(객체를 조립하여 프로그래밍하기 때문에 수정할 부분이 적어진다.)

단점

  • OS에서 바로 실행되는 것이 아니고 위에서 설명하였던 JVM이 자바를 실행하기 때문에 타 언어에 비해 실행 속도가 느리다.
  • 예외처리를 많이 해야 한다.
  • 소스 코드의 길이가 길다.

0개의 댓글