본문 바로가기

Foundation/- Java

객체지향언어란(클래스, 객체)

객체지향 언어란???

 

1. 객체지향언어의 역사

 

- 과학, 군사적 모의실험을 위해 컴퓨터를 이용한 가상세계를 구현하려는 노력으로부터 객체지향이론이 시작됨

- 1960년대 최초의 객체지향언어 Simula탄생

- 1980년대 절차방식의 프로그래밍의 한계를 객체지향방식으로 극복하려고 노력함.

- 1995년 말 Java탄생, 객체지향언어가 프로그래밍 언어의 주류가 됨.

 

 

2. 객체지향언어의 특징

 

- 기존의 프로그래밍언어와 크게 다르지 않다. (몇가지 규칙을 추가한 것뿐)

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

- 코드의 유지보수가 쉬워졌다.

- 신뢰성이 높은 프로그램의 개발을 가능하게 한다.

  즉, 저에자와 메서드를 이용해서 데이터를 보호하고, 코드의 중복을 제거하여 코드의 불일치로 인한 오류를 방지할 수 있다.

 

3. 개인적인 객체지향언어 공부방법

 

- 처음에 용어와 개념이 많이 헷갈릴 수 있다. 따라서 같은 내용이더라도 반복해서 익숙해지는 것이 중요한 것 같다.

 

 

 

 

클래스와 객체 ??

 

1. 클래스와 객체의 정의와 용도

 

▶ 클래스의 정의 - 클래스란 객체를 정의해 놓은 것이다.

▶ 클래스의 용도 - 클래스는 객체를 생성하는데 사용된다.

 

▶ 객체의 정의 - 실제로 존재하는 것, 사물 또는 개념

▶ 객체의 용도 - 객체의 속성과 기능에 따라 다름

 

클래스와 객체의 관계를 예를 들자면 제품 설계도(클래스)와 제품(객체)로 비유할 수있다. 설계도만 잘 되어있으면 제품을 잘 만들 수 있고, 언제든지 설계도를 가져다 다시 만들 수 있다. 그리고 몇번이고 설계도를 사용할 수 있다.

 

2. 객체의 구성요소 - 속성과 기능

 

▶ 객체는 속성과 기능으로 이루어져 있다.

- 객체는 속성과 기능의 집합이며, 속성과 기능을 객체의 멤버라고 한다.

▶ 속성은 변수로, 기능은 메서드로 정의한다.

 

예를 들어 라디오의 속성과 기능보자면

 

속성 - 색상, 볼륨, 채널

기능 - 켜기, 끄기, 볼륨 증감, 채널 증감 등등이 있다.

이렇게 속성은 변수로, 기능은 메서드(함수)로 정의한다.

 

3. 인스턴스의 생성과 사용

 

▶인스턴스의 생성방법

클래스명 참조변수명;

참조변수명 = new 클래스명();

 

만약 위의 Radio 클래스의 참조변수를 생성한다면,

Radio radio;               //객체를 다루기 위한 참조변수 선언

radio = new Radio();    //객체생성 후, 생성된 객체의 주소를 참조변수에 저장

이제 참조변수 radio를 통해서 Radio 클래스의 인스턴스를 사용 가능하다.

인스턴스와 객체랑 헷갈릴 수 있는데 일단은 같은 말이라고 보면된다.

 

▶인스턴스의 사용

참조변수 radio로 Radio 클래스에 접근하는 법은  .연산자를 통해서 접근할 수 있다.

예를 들면, radio.volume = 10; 을하면 멤버변수 volume에 10이 저장되고,

radio.volumeUP(); 메서드를 이용하면 1이 증가한 11이 저장된다.

 

 

 

'Foundation > - Java' 카테고리의 다른 글

생성자  (0) 2017.07.28
변수와 메서드  (0) 2017.07.26
배열(array), String배열, 다차원배열  (1) 2017.07.21
제어문 - 반복문(for, while, do-while)  (0) 2017.07.20
제어문 - 조건문(if,switch)  (0) 2017.07.19