[자바/기초] 특징과 기술

객체지향 프로그래밍(OOP)란?

- 문제 혹은 로직을 객체 단위로 나눠서 작성하는 방법을 말한다.

- 객체들이 서로 유기적으로 상호작용하는 프로그래밍 이론이다. (eg. Java, C# 등)

- 코드의 재사용성이 증가되고 생산성이 향상되며 유지보수가 쉽다는 장점이 있다.

- 개발 속도가 느리며, 객체 단위로 실행하므로 실행 속도가 느리고 코드의 난이도가 상승된다는 단점이 있다.

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

슐화

- 데이터의 구조와 기능을 하나의 캡슐형태로 만들어 외부에서는 형태를 알 수 없도록 하는 방법을 말한다.

상화

- 객체의 공통적인 필드와 기능을 하나의 형태로 정의하는 설계 방법을 말한다.

- 하위 클래에서는 상속 받은 상위 클래스의 기능을 사용할 수도 있고, 하위 클래스 자체에 새로운 기능을 추가할 수 있는 것을 의미한다.

 

형성

- 객체가 상속을 통해 기능을 확장하거나 변경하여 다른 형태로 재구성되는 것을 말한다.

자바란?

- 1995년, 제임스 고슬링에 의해 창안되었다.

- 가전제품에 내장될 소프트웨어를 위한 플랫폼 독립적인 언어였으며, 각각의 특수한 운영체제에 맞게 동작하게 된다.

- 특정 운영체제에 제약을 받지 않고 일정하게 동작하도록 발전하여 현재에 이르고 있다.

자바의 특징

고급 프로그래밍 언어

- 사람이 사용하는 언어를 기반으로 컴퓨터에게 지시할 명령어를 작성한다.

객체 지향 언어

- 객체 지향 개념을 추가하여 개발자가 좀 더 쉽고 효율적으로 프로그래밍을 할 수 있다.

- 자바 언어 이전의 고급 프로그래밍 언어였던 C 언어의 경우, 절차 지향 개념의 언어이다.

모든 운영체제 지원

- JVM(Java Virtual Machine) 기반에서의 프로그램이 실행된다.

- JVM 기반으로 프로그램이 실행되므로, 운영체제에 제약을 받지 않고 동일하게 실행이 된다.

자동 메모리 관리

- 메모리 할당과 반환의 일련의 과정을 일컫는 메모리 관리를 자동으로 해준다.

  ( ↔ C 언어의 경우, 메모리에 대한 관리를 직접 개발자가 할당과 반환을 수행하는 코드를 작성하여야 한다. )

- GC(Garbage Collection)를 활용하여 동적으로 할당된 메모리의 대해 사용되지 않을 경우, 반환하는 작업을 수행 한다.

멀티 스레드 기능

- 여러 개의 작업을 동시에 수행할 수 있게 해 준다.

자바 기술의 종류

Java SE(Java Staandard Edition)

- 데스크톱 컴퓨터의 응용 프로그램 개발용 자바 기술이다.

Java EE(Java Enterprise Edition)

- 서버용 응용 프로그램 개발용 자바 기술이다.

- servlet, jsp, spring framework 등에 주로 쓰인다.

Java ME(Java Micro Edition)

- 소규모 장치에서 실행되는 응용 프로그램 개발용 자바 기술이다.

- 안드로이드 등장 이후 많이 사용되지 않고 있는 자바 기술이기도 하다.

- 휴대폰, 셋톱박스 등에 주로 쓰인다.


⊙ 참고 문헌

  1. 이병승, 「초보 개발자를 위한 자바:한 권으로 배우는 자바 마스터 가이드 북」, 영진닷컴, 2024, p13 - 16
  2. 마종현, 「제로베이스 백엔드 취업 파트타임 스쿨 5기:Part 01. Java 기초-Chapter 01. Java 프로그래밍-01.Java - 소개」, 제로베이스, 2024, https://zero-base.co.kr/
  3. 정영진, 「제로베이스 백엔드 취업 파트타임 스쿨 5기:Part 01-2. 쉽게 배우는 자바-Chapter 06. 클래스와 객체」, 제로베이스, 2024, https://zero-base.co.kr/