본문 바로가기
Others/학교 공부

객체와 클래스-1

by 언니팬더 2013. 3. 19.

객체와 클래스-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