객체지향 언어
객체지향 언어는 기존 프로그래밍 언어와 전혀 다른 새로운 것이 아니라, 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 것이다. 설명으로만 이해하기에 객체지향을 이해하기 어렵다. 흔히 객체지향 언어를 현실세계에 대한 프로그래밍 언어의 모사(模寫)라고 설명하기도 한다. 객체지향언어의 특징이라고 하면 3가지를 이야기 할 수 있다.
첫 번째, 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 두 번째, 코드의 관리가 용이하다. 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 마지막 세 번째, 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 앞으로 객체지향에 대한 개념을 설명 할텐데 객체지향의 개념중 캡슐화, 상속, 추상화, 다형성 이 네가지 개념이 핵심개념이다. 네 가지의 핵심개념을 집중해서 봐주기 바란다.
클래스와 객체
클래스는 '객체를 정의해놓은 것' 또는 '객체의 설계도 또는 틀'이라고 정의할 수 있다. 객체는 사전적 의미로 '실제로 존재하는 것'이다. 프로그래밍 언어에서도 이와 유사하게 객체는 클래스 즉 설계도에 의해 정의된 것 즉, '클래스에 정의된 내용대로 메모리에 생성된 것'을 뜻한다. 클래스와 객체의 관계를 우리가 살고 있는 실생활에서 예를 들면 제품설계도(클래스)와 제품(객체)의 관계로 정의할 수 있다.
클래스 | 객체 |
제품 설계도 | 제품 |
TV 설계도 | TV |
붕어빵 기계 | 붕어빵 |
TV(객체)를 만들기 위해선 TV설계도(클래스)가 선행되어야 하는 것 처럼, 객체 또한 우선 클래스가 정의되어야 생성할 수 있다. 그리고 설계도를 생성하면 제품 만들기가 쉬워지는 것 처럼 클래스가 정의된다면, 객체의 재사용과 유지보수가 용이하다.
출처:자바의 정석 기초편(저자 남궁성, 출판사 도우출판)
'java > 객체지향' 카테고리의 다른 글
[객체지향] static 메서드와 인스턴스 메서드 (0) | 2021.07.09 |
---|---|
[객체지향] return문과 반환값 (0) | 2021.07.09 |
[객체지향] 메서드 (0) | 2021.07.08 |
[객체지향] 변수 (0) | 2021.07.06 |
[객체지향] 객체 (0) | 2021.07.05 |