아놔 객체가 도대체 뭔가요? > 자유게시판

자유게시판

아놔 객체가 도대체 뭔가요? 정보

아놔 객체가 도대체 뭔가요?

본문

집에서 자스 책 좀 들여다 보고 있는데 객체란 말이 이해가 안 가서 진도를 못 빼고 있네요. ㅠㅠ

궁금해서 네이버 좀 찾아봤더니 더 멘붕...

객체 지향 프로그래밍(OOP)이나 설계에서, 데이터(실체)와 그 데이터에 관련되는 동작(절차, 방법, 기능)을 모두 포함한 개념. 예를 들어 기차역에서 승차권을 발매하는 경우, 실체인 ‘손님’과 동작인 ‘승차권 주문’은 하나의 객체이다. 실체인 ‘역무원’과 동작인 ‘승차권 발매’도 하나의 객체이다. 같은 성질(구조와 형태)을 가지는 객체는 등급으로 정의하고, 같은 등급에 속하는 객체는 그 등급의 인스턴스라고 한다.


이게 무슨 소린가요?
추천
0
  • 복사

댓글 20개

class는 객체를 만드는 틀입니다. ㅋㅋㅋㅋ 자동차 설비 시스템(공장)을 뜻하죠. 즉 자동차라는 물건을 찍어내기위한 틀이고 이때 자동차를 객체라고 표현합니다. 객체는 어떠한 목적에 맞게 만들어진 물건이라 보시고 그 물건을 구성하는 핸들, 바퀴, 브레이크, 의자 등등은 속성입니다. 속성은 흔히 변수라고 생각하시면됩니다. 그리고 핸들을 좌로 돌리면 바퀴가 좌로 돌아간다라는 어떠한 일 처리를 우리는 메소드라고 부릅니다. 메소드는 보통 함수라고 일컽죠. 나름 설명 했는데 제 말이 맞는지 모르겠군요. ^^
인스턴스는 클래스로 객체를 찍어내는 행위로 보시면 됩니다. 객체는 메모리에 올라가는데 그 메모리의 번지를 우린 숫자로 기억하기 힘드니 인스턴스 변수에 담아서 메모리번지를 찾아 갑니다. 즉 클래스로 객체를 생성할때 담는 변수를 인스턴스 변수라고 하고 그 행위를 우린 인스턴스라고 생각하면될꺼 같습니다. 100% 맞진 않습니다. 저는 그렇게 알려 줍니다.
요즘 헌이가오는데 이지 형님이 안오는거와 같음 ㅎㅎㅎ 이지형님은 어디로 갔을까 훔야...
헛! 묵공님도 안보이시네.... ㅡㅡ;; 재미가 없네 훔야...

참!! 지운이는 괜찮은가요? 빨리 완케되기를 기도합니다.
객체 지향 프로그래밍까지 들어가면 이야기가 너무 복잡하고,
자바스크립트에서 객체는 간단히 말해서 프로퍼티의 모음집입니다.
프로퍼티는 name : value 형태로 이루어진 일종의 값의 저장소로 생각하면 쉽습니다.
프로퍼티 중에서 우리가 일반적으로 말하는 함수, 즉 행동을 하는 녀석을 특별히 매소드라고 부릅니다.
요놈 = 객체다;
'요놈'객체가 지정안돼어있어!!

var를 붙여야해ㅡㅡ

모든지 이론보다 실전이 답입니다....ㅋ 몸으로 뛰면 답이 나올떄가 있음ㅋㅋ

전 책잘안봐요~잠옴ㅠㅋㅋ 컴터 뒤적뒤적~_~ github 만쉐~ㅋ
인스턴스변수.변수 or 인스턴스변수.메소드 즉 객체.변수 or 객체.메소드 임 .(닷)으로 자식의 메소드나 변수(맴버들)를 쓸수 있는 형태
클래스는 설계도고 객체는 실제로 생성된 덩어리로 보시믄 될듯요...
클래스에는 변수와 함수들이 들어갈 수 있어서
여러가지 정보를 담은 하나의 덩어리를 만들수 있다는..
대충 요런식이랄까..

//클래스 정의
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'은 '사람'클래스를 상속한 '개발자' 클래스의 인스턴스(객체)입니다.
© SIRSOFT
현재 페이지 제일 처음으로