검수요청.png검수요청.png

"객체"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
잔글 (같이 보기)
 
(사용자 2명의 중간 판 6개는 보이지 않습니다)
1번째 줄: 1번째 줄:
 
'''객체'''(客體) 또는 '''오브젝트'''(object)란 [[객체 지향 프로그래밍]](OOP)에서 [[클래스]](class)가 실제로 구현된 [[인스턴스]](instance)를 말한다. 즉, 객체란 클래스를 인스턴스화한 것이다. [[절차적 프로그래밍]]과 달리 객체 지향 프로그래밍에서는 하나의 객체가 데이터와 동작을 모두 포함할 수 있다. 객체의 데이터 부분은 [[속성]](attribute)으로 나타내고, 객체의 동작 부분은 [[메소드]](method)를 사용하여 구현한다.
 
'''객체'''(客體) 또는 '''오브젝트'''(object)란 [[객체 지향 프로그래밍]](OOP)에서 [[클래스]](class)가 실제로 구현된 [[인스턴스]](instance)를 말한다. 즉, 객체란 클래스를 인스턴스화한 것이다. [[절차적 프로그래밍]]과 달리 객체 지향 프로그래밍에서는 하나의 객체가 데이터와 동작을 모두 포함할 수 있다. 객체의 데이터 부분은 [[속성]](attribute)으로 나타내고, 객체의 동작 부분은 [[메소드]](method)를 사용하여 구현한다.
 +
 +
==개요==
 +
[[파일:붕어빵틀과 붕어빵.png|썸네일|400픽셀|'''클래스'''와 '''객체''']]
 +
 +
객체(object)는 사전적인 정의로 실제 존재하는 것을 말한다. 객체지향 이론에서는 사물과 같은 유형적인 것뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다. 프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다.<ref>〈[https://programmer-seva.tistory.com/76 객체 개요]〉, 《Tistory - 세바의 코딩교실》, 2016-02-11</ref> 일반적으로 객체는 다수의 속성과 기능을 가지고 있으며, 객체가 가지고 있는 속성과 그 기능을 객체의 멤버라고 한다.<ref>〈[https://rank01.tistory.com/39 객체]〉, 《Tistory - JAVA FOR JAVA》, 2012-11-26</ref>
 +
 +
객체를 쉽게 이해하기 위해서 우리는 붕어빵과 붕어빵 틀을 자주 예시로 들고는 한다. 붕어빵 모양 틀을 클래스, 붕어빵 모양 틀에 의해 만들어진 붕어빵을 객체라고 한다.<ref name="객체">〈[https://cremazer.github.io/java-Class-and-Object/ 객체]〉, 《Github - Cremazer》, 2014-09-20</ref>
 +
 +
==특징==
 +
객체는 '클래스의 인스턴스'라고 불리기도 하며, 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다. OOP의 관점에서 클래스의 타입으로 선언되었을 경우 '객체'라고 불린다.<ref>〈[https://gmlwjd9405.github.io/2018/09/17/class-object-instance.html 객체 특징]〉, 《Github - [JAVA]클래스, 객체, 인스턴스의 차이》, 2018-09-17</ref>
 +
 +
===구성요소===
 +
객체는 속성과 기능, 두 종류의 구성요소로 이루어져 있으며, 일반적으로 객체는 다수의 속성과 기능을 가지고 있다. 즉 객체는 속성과 기능의 집합이라고 할 수 있다. 또한, 객체가 가지고 있는 속성과 기능을 그 객체의 멤버라고 한다. 속성으로는 멤버변수, 특성, 필드, 상태가 있으며, 기능으로는 메소드, 행위, 함수가 있다.<ref>〈[https://doublesprogramming.tistory.com/68 객체 구성요소]〉, 《Tistory - doublesprogramming》, 2017-01-31</ref>
 +
 +
===예시===
 +
클래스를 이용하여 객체를 만드는 방법으로는 두 가지가 있다. 첫 번째 방법은 클래스 변수를 선언하고, 변수에 new 연산자를 사용하여 클래스를 생성하는 방법이다.
 +
두 번째 방법은 클래스 변수를 선엄함과 동시에 new 연산자를 사용하여 클래스를 생성하는 방법으로 즉, 방법1을 짧게 줄여 표현한 식이다.<ref name="객체"/>
 +
 +
[방법1]
 +
클래스명 변수명;
 +
변수명 = new 클래스명();
 +
[방법2]
 +
클래스명 변수명 = new 클래스명();
 +
 +
{{각주}}
 +
 +
==참고자료==
 +
* [스터디_자바 기본]클래스와 객체〈[https://programmer-seva.tistory.com/76 객체 개요]〉, 2016-02-11《Tistory - 세바의 코딩교실》
 +
* 자바-객체지향(클래스와 객체)〈[https://rank01.tistory.com/39 객체]〉, 2012-11-26《Tistory - JAVA FOR JAVA》
 +
* JAVA - 클래스와 객체(Class and Object)〈[https://cremazer.github.io/java-Class-and-Object/ 객체]〉, 2014-09-20《Github - Cremazer》
 +
* [JAVA]클래스, 객체, 인스턴스의 차이〈[https://gmlwjd9405.github.io/2018/09/17/class-object-instance.html 객체 특징]〉, 2018-09-17《Github - Dog Class》
 +
* 자바 - 객체와 인스턴스, 객체의 구성요소〈[https://doublesprogramming.tistory.com/68 객체 구성요소]〉, 2017-01-31《Tistory - doublesprogramming》
  
 
== 같이 보기 ==
 
== 같이 보기 ==
8번째 줄: 40번째 줄:
 
* [[메소드]]
 
* [[메소드]]
  
{{프로그래밍|토막글}}
+
{{프로그래밍|검토 필요}}

2021년 8월 2일 (월) 13:59 기준 최신판

객체(客體) 또는 오브젝트(object)란 객체 지향 프로그래밍(OOP)에서 클래스(class)가 실제로 구현된 인스턴스(instance)를 말한다. 즉, 객체란 클래스를 인스턴스화한 것이다. 절차적 프로그래밍과 달리 객체 지향 프로그래밍에서는 하나의 객체가 데이터와 동작을 모두 포함할 수 있다. 객체의 데이터 부분은 속성(attribute)으로 나타내고, 객체의 동작 부분은 메소드(method)를 사용하여 구현한다.

개요[편집]

클래스객체

객체(object)는 사전적인 정의로 실제 존재하는 것을 말한다. 객체지향 이론에서는 사물과 같은 유형적인 것뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다. 프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다.[1] 일반적으로 객체는 다수의 속성과 기능을 가지고 있으며, 객체가 가지고 있는 속성과 그 기능을 객체의 멤버라고 한다.[2]

객체를 쉽게 이해하기 위해서 우리는 붕어빵과 붕어빵 틀을 자주 예시로 들고는 한다. 붕어빵 모양 틀을 클래스, 붕어빵 모양 틀에 의해 만들어진 붕어빵을 객체라고 한다.[3]

특징[편집]

객체는 '클래스의 인스턴스'라고 불리기도 하며, 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다. OOP의 관점에서 클래스의 타입으로 선언되었을 경우 '객체'라고 불린다.[4]

구성요소[편집]

객체는 속성과 기능, 두 종류의 구성요소로 이루어져 있으며, 일반적으로 객체는 다수의 속성과 기능을 가지고 있다. 즉 객체는 속성과 기능의 집합이라고 할 수 있다. 또한, 객체가 가지고 있는 속성과 기능을 그 객체의 멤버라고 한다. 속성으로는 멤버변수, 특성, 필드, 상태가 있으며, 기능으로는 메소드, 행위, 함수가 있다.[5]

예시[편집]

클래스를 이용하여 객체를 만드는 방법으로는 두 가지가 있다. 첫 번째 방법은 클래스 변수를 선언하고, 변수에 new 연산자를 사용하여 클래스를 생성하는 방법이다. 두 번째 방법은 클래스 변수를 선엄함과 동시에 new 연산자를 사용하여 클래스를 생성하는 방법으로 즉, 방법1을 짧게 줄여 표현한 식이다.[3]

[방법1]

클래스명 변수명;
변수명 = new 클래스명(); 

[방법2]

클래스명 변수명 = new 클래스명(); 

각주[편집]

  1. 객체 개요〉, 《Tistory - 세바의 코딩교실》, 2016-02-11
  2. 객체〉, 《Tistory - JAVA FOR JAVA》, 2012-11-26
  3. 3.0 3.1 객체〉, 《Github - Cremazer》, 2014-09-20
  4. 객체 특징〉, 《Github - [JAVA]클래스, 객체, 인스턴스의 차이》, 2018-09-17
  5. 객체 구성요소〉, 《Tistory - doublesprogramming》, 2017-01-31

참고자료[편집]

  • [스터디_자바 기본]클래스와 객체〈객체 개요〉, 2016-02-11《Tistory - 세바의 코딩교실》
  • 자바-객체지향(클래스와 객체)〈객체〉, 2012-11-26《Tistory - JAVA FOR JAVA》
  • JAVA - 클래스와 객체(Class and Object)〈객체〉, 2014-09-20《Github - Cremazer》
  • [JAVA]클래스, 객체, 인스턴스의 차이〈객체 특징〉, 2018-09-17《Github - Dog Class》
  • 자바 - 객체와 인스턴스, 객체의 구성요소〈객체 구성요소〉, 2017-01-31《Tistory - doublesprogramming》

같이 보기[편집]


  검수요청.png검수요청.png 이 객체 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.