자바란?
자바는 1995년 썬(Sun)에서 발표한 객체지향언어입니다.
자바의 탄생으로 기존의 절차적 프로그래밍(Procedural Programming)에서
객체지향 프로그래밍(OOP : Object Oriented Programming)이 대세가 됩니다.
Why?
절차적 프로그래밍(Procedural Programming)은 시간의 흐름에 따라 코드를 작성하게 됩니다.
예를 들어, 라면을 끓이는 프로그래밍을 만든다고 하면
- 라면을 준비한다
- 물을 끓인다
- 스프와 면을 넣는다
- 스프와 면을 넣고 끓인다
- 그릇에 담는다
라고 만들어 볼 수 있습니다. 이 과정은 단순해 보이지만 프로그래밍으로 표현하려면 조금 더 많은
정보가 필요합니다. 라면의 종류, 몇 mL의 물, 몇 분을 끓일지, 어떤 그릇에 담을지 등의 정보가 필요합니다.
초기의 프로그래밍은 절차적 프로그래밍이었습니다.
하지만 절차적 프로그래밍 방식은 대규모 개발, 자주 수정하는 프로그램에서는 복잡해지는 경향이 있습니다.
따라서 위의 단점을 상쇄하고자 객체지향언어인 자바, C++, C# 등과 같은 객체지향 프로그래밍(Object Oriented Programming)이 탄생하였습니다.
객체지향 프로그래밍(Object Oriented Programming)이란?
객체(부품)를 만들고, 이 객체들을 서로 연결해서 더 큰 프로그램을 완성하는 기법을 객체지향 프로그래밍(Object Oriented Programming)이라고 합니다.
객체(Object)란?물리적으로 존재하거나 추상적으로 생각 할 수 있는 것중에서 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것을 말합니다.
우리의 신체로 예를 들어보겠습니다. 우리의 신체는 작은 세포들로 이루어져 있습니다. 이 세포를 하나의 객체(object)라고 생각하면 이 객체(세포)들을 연결하면 조직이 되는데 이는 피부조직, 근육조직 등과 같은 하나의 더 큰 객체(조직)이 됩니다. 이 객체(조직)를 또 연결하면 더 큰 객체인 기관을 만들 수 있는데 이는 심장, 신장, 위장 등을 만들 수 있습니다.또 이 객체(기관)를 연결하면 우리의 신체가 되는 것 입니다. 이것을 객체지향의 개념이라고 생각하시면 됩니다.
객체지향언어의 특징
객체지향언어의 특징에 대해서 몇 가지 살펴보자면
- 코드의 재사용성이 높다!!
- 새로운 코드를 작성할 때 기존의 코드를 이용해서 쉽게 작성할 수 있습니다. - 코드 관리가 쉬워졌다!!
- 코드 간의 관계를 맺어줌으로서 보다 적은 노력으로 코드 변경이 가능합니다.
- 중복 코드 제거 - 신뢰성이 높은 프로그램의 개발이 가능하다!!
- 제어자와 메서드를 이용해서 데이터를 보호하고, 코드의 중복을 제거하여 오류를 방지할 수 있습니다.
이렇게 객체지향 언어를 이해하고 자바를 공부하면 좀 더 수월하게 자바를 배울 수 있습니다.
참고 : 혼자 공부하는 자바(도서), 자바의 정석(도서)
'Programming > Java, Spring' 카테고리의 다른 글
[JAVA] 기본형 매개변수와 참조형 매개변수 (0) | 2022.05.07 |
---|---|
[JAVA] 클래스 메서드(Static메서드)와 인스턴스 메서드(instance method) (0) | 2022.05.04 |
[JAVA] 메서드(method)란? return문, 메서드 호출 (0) | 2022.05.03 |
[JAVA] 변수란? / 변수의 종류 / 인스턴스, 클래스, 지역 변수 (0) | 2022.05.01 |
[Java] 클래스(class)와 객체(object), 인스턴스(instance) (0) | 2022.04.26 |