본문 바로가기
Programming/Java

[Java] - 객체지향언어란?

by 구튼탁 2021. 2. 18.
728x90
출처 : 자바의 정석

객체지향 이론의 기본 개념

실제 세계는 사물로 이루어져 있으며, 발생하는 모든 사건들은 사물 간의 상호작용이다.

 

실제 사물의 속성과 기능을 분석한 다음, 데이터와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상 세계를 구현. 

 

객체지향이론은 상속, 캡슐화, 추상화 개념을 중심으로 발전되어 왔다. 

 

객체지향 언어

프로그래밍 언어에 규칙을 적용하여 코드 간에 서로 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성한다.

 

"코드 간의 관계 맺기"에서 파생되는 객체지향 언어의 주요 특징

 

1. 코드의 재사용성이 높다.

 

2. 코드의 관리가 용이하다. 

  * 코드 간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 

 

3. 신뢰성이 높은 프로그래밍을 가능하게 한다.

  * 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다. 

 

객체지향 개념을 학습할 때 재사용성유지보수 그리고 중복된 코드의 제거
이 세 가지 관점에서 보면 보다 쉽게 이해할 수 있다.

 


클래스와 객체

1. 클래스

   정의 : 객체를 정의해놓은 것. 객체의 설계도 또는 틀. 

   용도 : 객체는 클래스에 정의된 대로 생성된다.

 

2. 객체

   클래스에 정의된 내용대로 메모리에 생성된 것

 

클래스를 정의하고 클래스를 통해 객체를 생성하는 이유

설계도(클래스)를 한번만 잘 만들어 놓기만 하면 제품(객체)을 만드는 일이 쉬워진다. 

 

클래스의 인스턴스 화(instantiate)

클래스로부터 객체를 만드는 과정

 

클래스의 인스턴스(instance)

어떤 클래스로부터 만들어진 객체.

인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미를 갖고 있다. 

 


객체의 구성요소 - 속성, 기능

객체는 속성과 기능의 집합

 

속성 : member variable, attribute, field, state

기능 : method, function, behavior

728x90

댓글