"객체"의 두 판 사이의 차이
2016081033 (토론 | 기여) (새 문서: '''객체'''(Object)는 객체 지향 프로그래밍에서 프로그램의 기본 단위로, 데이터와 그 데이터에 관한 동작(철차, 방법, 기능)을 모두 포함...) |
잔글 (→같이 보기) |
||
(사용자 2명의 중간 판 8개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''객체'''( | + | '''객체'''(客體) 또는 '''오브젝트'''(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》 | ||
+ | |||
+ | == 같이 보기 == | ||
+ | * [[객체 지향 프로그래밍]](OOP) | ||
+ | * [[클래스]] | ||
+ | * [[인스턴스]] | ||
+ | * [[속성]] | ||
+ | * [[메소드]] | ||
+ | |||
+ | {{프로그래밍|검토 필요}} |
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 클래스명();
각주[편집]
참고자료[편집]
- [스터디_자바 기본]클래스와 객체〈객체 개요〉, 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》
같이 보기[편집]
- 객체 지향 프로그래밍(OOP)
- 클래스
- 인스턴스
- 속성
- 메소드