Programming/Java, Spring

[JAVA] 자바란?? / 객체지향 언어(OOP)와 특징

Juun 2022. 4. 25. 22:51
반응형

자바란?

자바는 1995년 썬(Sun)에서 발표한 객체지향언어입니다.

자바의 탄생으로 기존의 절차적 프로그래밍(Procedural Programming)에서

객체지향 프로그래밍(OOP : Object Oriented Programming)이 대세가 됩니다.

 

Why?

 

절차적 프로그래밍(Procedural Programming)시간의 흐름에 따라 코드를 작성하게 됩니다.

예를 들어, 라면을 끓이는 프로그래밍을 만든다고 하면 

  1. 라면을 준비한다
  2. 물을 끓인다
  3. 스프와 면을 넣는다
  4. 스프와 면을 넣고 끓인다
  5. 그릇에 담는다

라고 만들어 볼 수 있습니다. 이 과정은 단순해 보이지만 프로그래밍으로 표현하려면 조금 더 많은

정보가 필요합니다. 라면의 종류, 몇 mL의 물, 몇 분을 끓일지, 어떤 그릇에 담을지 등의 정보가 필요합니다.

초기의 프로그래밍은 절차적 프로그래밍이었습니다.

하지만 절차적 프로그래밍 방식은 대규모 개발, 자주 수정하는 프로그램에서는 복잡해지는 경향이 있습니다.

 

따라서 위의 단점을 상쇄하고자 객체지향언어인 자바, C++, C# 등과 같은 객체지향 프로그래밍(Object Oriented Programming)이 탄생하였습니다.

 

객체지향 프로그래밍(Object Oriented Programming)이란?

객체(부품)를 만들고, 이 객체들을 서로 연결해서 더 큰 프로그램을 완성하는 기법을 객체지향 프로그래밍(Object Oriented Programming)이라고 합니다.

 

객체(Object)란?물리적으로 존재하거나 추상적으로 생각 할 수 있는 것중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것을 말합니다.

 

우리의 신체로 예를 들어보겠습니다. 우리의 신체는 작은 세포들로 이루어져 있습니다. 이 세포를 하나의 객체(object)라고 생각하면 이 객체(세포)들을 연결하면 조직이 되는데 이는 피부조직, 근육조직 등과 같은 하나의 더 큰 객체(조직)이 됩니다. 이 객체(조직)를 또 연결하면 더 큰 객체인 기관을 만들 수 있는데 이는 심장, 신장, 위장 등을 만들 수 있습니다.또 이 객체(기관)를 연결하면 우리의 신체가 되는 것 입니다. 이것을 객체지향의 개념이라고 생각하시면 됩니다.

 

객체지향언어의 특징

객체지향언어의 특징에 대해서 몇 가지 살펴보자면

  1. 코드의 재사용성이 높다!!
    - 새로운 코드를 작성할 때 기존의 코드를 이용해서 쉽게 작성할 수 있습니다.
  2. 코드 관리가 쉬워졌다!!
    - 코드 간의 관계를 맺어줌으로서 보다 적은 노력으로 코드 변경이 가능합니다. 
    - 중복 코드 제거
  3. 신뢰성이 높은 프로그램의 개발이 가능하다!!
    - 제어자와 메서드를 이용해서 데이터를 보호하고, 코드의 중복을 제거하여 오류를 방지할 수 있습니다.

이렇게 객체지향 언어를 이해하고 자바를 공부하면 좀 더 수월하게 자바를 배울 수 있습니다.

 

 

참고 : 혼자 공부하는 자바(도서), 자바의 정석(도서) 

반응형