JAVA/Theory

객체지향 프로그래밍 언어와 자바(Java)

ITs Min 2023. 12. 3.

객체지향 프로그래밍 언어

  프로그래밍 언어는 객체지향 프로그래밍 언어와 절차적 프로그래밍으로 나누어져 있다. 객체지향 프로그래밍 언어는 현실 세계의 개체를 기계의 부품처럼 하나의 객체로 만들어, 기계적인 부품들을 조립하여 제품을 만들 듯이 소프트웨어를 개발할 때도 객체들을 조립해서 프로그램을 작성할 수 있도록 한 프로그래밍 기법이다. 절차적 프로그래밍 언어는 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술해 나가는 언어이다. 자바(Java)는 이 중에서 객체지향 프로그래밍 언어에 속하며 C++과 Smalltalk 등도 이에 속한다.

 

객체지향 프로그래밍 언어의 특징

캡슐화
데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것을 의미한다. 캡슐화된 객체의 세부 내용이 외부에는 은폐(정보 은닉)되어, 변경이 발생할 때 오류의 파급효과가 적다. 캡슐화된 객체들은 재사용이 용이하다.

정보은닉 캡슐화에서 가장 중요한 개념으로, 다른 객체에게 자신의 정보를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것이다.
추상화 불필요한 부분을 생략하고, 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화하는 것이다. 모델화라고 볼 수 있다.
상속성 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것이다. 이를 이용하면 하위 클래스 내에서 다시 정의하지 않고서도 즉시 자신의 속성을 사용할 수 있다.
다형성 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 의미한다. 객체들은 동일한 메소드명을 사용하며 같은 의미의 응답을 한다.

 

객체지향 프로그래밍 언어의 장단점

  • 상속을 통한 재사용과 시스템 확장이 용이하다.
  • 코드의 재활용성이 높다.
  • 분석과 설계가 쉽고 효율적이다.
  • 사용자와 개발자 사이의 이해를 쉽게 도와준다.
  • 대형 프로그래밍 작성 시에 용이하다.
  • 개발 및 유지보수가 용이하다.
  • 정형화된 분석 및 설계 방법이 없다.
  • 구현 시 처리시간이 지연된다.

자바(Java)

자바(Java)란?

자바(Java)는 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다. 1991년 그린 프로젝트(Green Project)라는 이름으로 시작해 1995년에 발표했다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발되었지만 현재 웹 애플리케이션 분야에 가장 많이 사용하는 언어 중 하나이고, 안드로이드를 비롯한 모바일 기기용 소프트웨어 개발에도 널리 사용되고 있다. 자바의 버전은 보통 Java SE 또는 JDK/JRE의 버전으로 말하며, 현재 버전 21까지 출시했다. (글 작성 기준) 

 

자바의 특징

  1. 이식성(Platform Independence): 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 통해 다양한 운영 체제에서 동일한 바이트 코드를 실행할 수 있다. 이는 어떤 플랫폼에서도 동일한 프로그램을 실행할 수 있다는 것을 의미한다.
  2. 객체 지향 프로그래밍(OOP): 자바는 객체 지향 프로그래밍의 개념을 기반으로 하고 있다. 이는 코드의 모듈화와 재사용성을 증가시키는 등 여러 이점을 가져다 준다.
  3. 멀티스레딩 지원: 자바는 멀티스레드를 쉽게 구현할 수 있는 기능을 제공하며, 이를 통해 프로그램의 성능을 향상시킬 수 있다.
  4. 동적 로딩(Dynamic Loading): 프로그램이 실행 중에 클래스를 동적으로 로딩할 수 있어, 런타임 시에 유연한 작업이 가능하다.

자바의 구성 요소

  1. 자바 가상 머신(JVM): 자바 프로그램은 먼저 자바 소스 코드가 컴파일되어 바이트 코드로 변환되고, 이를 JVM에서 실행된다.
  2. 자바 개발 키트(JDK): 자바 프로그래밍을 위한 도구들을 포함하고 있는 패키지로, 컴파일러 등이 포함되어 있다.
  3. 자바 런타임 환경(JRE): 자바 응용 프로그램을 실행하는 데 필요한 환경을 제공한다. JDK에서 JRE를 얻을 수 있다.

 

댓글

TOP

늦었다고 생각할 땐 너무 늦은 거다.