OOP(object Oriented Programming)

1960 SIMuLA

1980 Small talk

1980 c++

1990 JAVA oak

2000 c#

OOP 특성

-캡슐화(ENcapsulation)

-상속(inheritance)

-다형성(Polymorpnism)


Java 특성

컴파일러(Compiler)

인터프리터(Interpretor)



객체지향언어

기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 언어

장점 

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

-새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.

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

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

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

- 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다.


제어자

 클래스 메서드 변수 등에 선언함으로써 대상에 대한 접근이나 속성을 지정하는 형태를 가진다.


메서드( method)  읽어보면 좋은글

 객체의 구성요소로서 


클래스

클래스는 객체의 설계도 또는 틀이라고 생각할 수 있으며, 객체를 정의해놓은 것이며 객체를 생성하는데 사용된다. 객체의 성격은 클래스에서 정의된다.

 

 객체 

 실제로 존재하는것이란 사전적 의미를 가지며 사물 또는 개념을 말한다. 객체의 용도는 객체의 속성과 기능에 따라 다르다.


클래스 

객 체 

제품설계도 

제 품 

 TV설계도

TV 

붕어빵 기계 

 붕어빵


인스턴스

 어떠한 클래스로부터 만들어진 객체를 그 클래스의 인스턴스(instance)라고 하며, 객체를 만드는 과정을 클래스의 인스턴스화(instantiate)라고 한다.


객체와 인스턴스

 비슷한 개념이지만 정확히 구별하면 객체가 인스턴스를 포함하는 일반적인 의미, 객체는 어떤 클래스를 사용해서 만들어진 것을 의미한다. 그리고 그 객체가 메모리에 할당되어 실제 메모리를 차지하는 것을 인스턴스라고 한다. 


 책상은 인스턴스다.

 △

 책상은 객체다.

 ○

 책상은 책상 클래스의 객체다.

 

 책상은 책상 클래스의 인스턴스다.

 




 클래스

인스턴스화 

 인스턴스(객체)

 ─▶

 

 객체의 구성요소

객체는 속성과 기능으로 이루어져있다. 속성과 기능을 객체의 멤버(member, 구성요소)라고 한다.

 속성= 변수

 기능= 메서드


class Tv{

String color;                // 색깔

boolean power;            // 전원상태 (On / Off)

int channel;                // 채널


void power() {

power = !power;    // 전원 On / Off

}

void channelUp{

channel++;            // 채널 높이기

}

void channelDown{

channel--;            // 채널 낮추기

}

}


위의 Tv 클래스는 3개의 맴버 변수와    3개의 메서드로 총 6개의 멤버를 가지고있다.


 인스턴스의 생성방법

 클래스명 참조변수명;        //객체를 다루기 위한 참조변수 선언

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


TV t;

t = new Tv();                =>    Tv t = new Tv();


t.channel = 7;                // 여기서 t는 참조변수 channel은 메서드 이름 

// 인스턴스의 메서드를 호출 

t.channelDown();            //channelDown 이라는 메서드 호출


Tv를 사용하려면 Tv리모컨이 필요하듯 참조변수의 타입은 


생성하려는 객체의 클래스와 일치해야한다. 참조변수는 인스턴스를 다룰수있는 유일한 방법

(사용할수 없는 인스턴스는 자바 버추얼머신에 가비지 컬렉터에 

의해 적절한시기에 자동적으로 제거되 메모리관리의 부담이없다.)



Tv t1 = new Tv();

Tv t2 = new Tv();            // 2개의 Tv 인스턴스를 new Tv(); 으로 인스턴스를 생성해 t1과 t2라는                                     // 참조변수에 참조

                                     //Tv의 참조변수로 t1과 t2를 선언

'Study > JAVA' 카테고리의 다른 글

eclipse 설치부터 실행  (0) 2014.10.01
Java Scanner (C의 scanf)  (0) 2014.09.29
JAVA 에서의 final 선언  (0) 2014.09.29
구구단  (0) 2014.09.25
Java SE Development Kit 7 Downloads  (0) 2014.09.19
Posted by 차희빈

차희빈

달력