객체와 클래스-1
[객체지향이론의 기본 계념]
실제 세계는 사물(객체)로 이루어져있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.
상속 캡슐화 추상화 개념을 중심으로 점차 구체적으로 발전되었다.
[객체지향언어의 장점]
1.코드의 재사용성이 높다.
2.코드의 관리가 용이하다.
3.신뢰성이 높은 프로그래밍을 가능하게 한다.
**코드의 재사용성이 높고 유지보수가 용이하다.**
[클래스]
클래스의 정의 - 객체를 정의해 놓은 것 객체의 설계도 또는 틀
클래스의 용도 - 클래스는 객체를 생성하는데 사용된다.
[객체]
사전적인 정의는 실제로 존재하는 것이다. (책상,의자, 자동차와 같은 사물)
사물과 같은 유형적인것 뿐만아니라 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다.
클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다.
객체의 정의 - 실제로 존재하는것, 사물또는 개념
객체의 용도 - 객체가 가지고 있는 기능가 속성에 따라 다름
유형의 객체 - 책상, 의자, 자동차, TV와같은 사물
무형의 객체 - 수학공식, 프로그램 에러와 같은 논리나 개념
클래스와 객체의 관계는 제품설계도와 제품과의 관계이다.
+<인스턴스화>
클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화 라고 하며, 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스 라고 한다. 인스턴스는 객체와 같은 의미이지만, 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있으며, 인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미를 갖고 있다.
[객체의 구성요소 속성과 기능]
속성(property) - 맴바변수(member variable), 특성(attribute), 필드(field), 상태(state)
기능(funtion) - 메서드(method), 행위(behavior),함수(function)
ex>TV
class Tv {
//TV의 속성(멤버변수)
String color;//색상
boolean power; //전원상태(on/off)>>if문으로 제작가능
int channel; //채널
//TV의 기능 (매서드)
void power(){power =! power;}//끄기 켜기
void channelUp(){++channel;}//소리 높이기
void channelDown(){--channel;}//채널 낮추기
}
[인스턴스의 생성과 사용]
클래스명 변수명; //클래스의 객체를 참조하기 위한 참조변수를 선언한다.
변수명 = new 클래스명(); //클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장한다.
ex>
class Tv {
//TV의 속성(멤버변수)
String color;//색상
boolean power; //전원상태(on/off)
int channel; //채널
//TV의 기능 (매서드)
void power(){power =! power;}//끄기 켜기 >>if문으로 제작가능
void channelUp(){++channel;}//소리 높이기
void channelDown(){--channel;}//채널 낮추기
}
class TvTest
{
public static void main(String[] args)
{
Tv t;//Tv인스턴스 참조하기 위한 변수 t를 선언
t = new Tv();//Tv인스턴스를 생성한다.
t.channel = 7;//Tv인스턴스의 맴버변수 channel의 값을 7로한다.
t.channelDown();//Tv인스턴스의 메서드 channelDown()을 호출한다.
System.out.println("현재 채널은 "+t.channel+"입니다");
}
}
'Others > 학교 공부' 카테고리의 다른 글
재귀호출 (0) | 2013.03.22 |
---|---|
기본형 매개변수와 참조형 매개변수 (0) | 2013.03.22 |
클래스와 변수 (0) | 2013.03.20 |
자바 개발환경 구축하기 (1) | 2013.03.18 |
자바언어의 특징 (0) | 2013.03.18 |