아놔 객체가 도대체 뭔가요?
집에서 자스 책 좀 들여다 보고 있는데 객체란 말이 이해가 안 가서 진도를 못 빼고 있네요. ㅠㅠ
궁금해서 네이버 좀 찾아봤더니 더 멘붕...
객체 지향 프로그래밍(OOP)이나 설계에서, 데이터(실체)와 그 데이터에 관련되는 동작(절차, 방법, 기능)을 모두 포함한 개념. 예를 들어 기차역에서 승차권을 발매하는 경우, 실체인 ‘손님’과 동작인 ‘승차권 주문’은 하나의 객체이다. 실체인 ‘역무원’과 동작인 ‘승차권 발매’도 하나의 객체이다. 같은 성질(구조와 형태)을 가지는 객체는 등급으로 정의하고, 같은 등급에 속하는 객체는 그 등급의 인스턴스라고 한다.
이게 무슨 소린가요?
궁금해서 네이버 좀 찾아봤더니 더 멘붕...
객체 지향 프로그래밍(OOP)이나 설계에서, 데이터(실체)와 그 데이터에 관련되는 동작(절차, 방법, 기능)을 모두 포함한 개념. 예를 들어 기차역에서 승차권을 발매하는 경우, 실체인 ‘손님’과 동작인 ‘승차권 주문’은 하나의 객체이다. 실체인 ‘역무원’과 동작인 ‘승차권 발매’도 하나의 객체이다. 같은 성질(구조와 형태)을 가지는 객체는 등급으로 정의하고, 같은 등급에 속하는 객체는 그 등급의 인스턴스라고 한다.
이게 무슨 소린가요?
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 20개
개체를 찾을 수 없습니다.
가 생각나네요.
헛! 묵공님도 안보이시네.... ㅡㅡ;; 재미가 없네 훔야...
참!! 지운이는 괜찮은가요? 빨리 완케되기를 기도합니다.
자바스크립트에서 객체는 간단히 말해서 프로퍼티의 모음집입니다.
프로퍼티는 name : value 형태로 이루어진 일종의 값의 저장소로 생각하면 쉽습니다.
프로퍼티 중에서 우리가 일반적으로 말하는 함수, 즉 행동을 하는 녀석을 특별히 매소드라고 부릅니다.
자바가 객체지향적으로 잘 정리한 언어중하나라죠
'요놈'객체가 지정안돼어있어!!
var를 붙여야해ㅡㅡ
모든지 이론보다 실전이 답입니다....ㅋ 몸으로 뛰면 답이 나올떄가 있음ㅋㅋ
전 책잘안봐요~잠옴ㅠㅋㅋ 컴터 뒤적뒤적~_~ github 만쉐~ㅋ
클래스에는 변수와 함수들이 들어갈 수 있어서
여러가지 정보를 담은 하나의 덩어리를 만들수 있다는..
대충 요런식이랄까..
//클래스 정의
Class Unit{
var $name, $type;
//생성자
function Unit($name,$type...){
$this->name = $name;
$this->type = $type;
}
}
//객체생성 - steve라는 이름의 marine 한마리가 생성됨
marine1 = new Unit('steve','marine'...);
echo $marine1->name ==> steve 출력됨
echo $marine1->type ==> marine 출력됨
찍어 나온 물건 = 인스턴스
자바스크립트에서는
function cl() {
this.nick = 'hi'
this.get = function () {
return this.nick;
}
this.set = function (data) {
this.nick = data;
}
}
이렇게 클래스만들고
var a = new cl();
var b = new cl();
이렇게 인스턴스를 a, b에 넣어주면
a.set('hi');
하면 a.nick 이 hi 로 바뀌고 b는 그대로 있어요 딴 인스턴스(제품)이니까요
클래스는 속성(멤버변수)/함수(메소드) 들의 집합이라고 보시고..
객체(인스턴스)는 클래스를 사용하기 위한 변수로 보시면 될것 같네요.
클래스와 객체를 이렇게 나눠놓은 이유는...
'사람'이라는 클래스가 있을 때, '지운아빠', '전진', 'byfun' 등등의 실제 객체(인스턴스)는 여러개가 있을 수 있기 때문이죠. 이렇게 본다면 클래스는 하나의 변수 타입이라고 볼 수 도 있겠죠. (int, float, char 처럼..)
또..
보통 클래스는 다른 클래스를 상속 받을 수 있죠..
B 클래스가 A 클래스를 상속했다고 하면.. B클래스는 A클래스에 있는 멤버변수/함수를 사용할 수 있습니다. 이렇게 해서 클래스의 기능을 확장할 수 있고, B클래스는 A클래스이기도 하죠.
예를들면, '사람' 이라는 클래스가 있을 때, '개발자', '디자이너', '퍼블리셔', '기획자' 등은 '사람' 클래스의 하위 클래스가 되며 이들 네 직종의 사람들은 '사람' 클래스의 속성을 갖게 되며, 네 직종의 사람들도 '사람' 인것이죠.
* 'byfun'은 '사람'클래스를 상속한 '개발자' 클래스의 인스턴스(객체)입니다.
객체에 신경쓰지 마시고.. ㅎㅎㅎ