"객체"의 두 판 사이의 차이
잔글 (→같이 보기) |
|||
(사용자 2명의 중간 판 4개는 보이지 않습니다) | |||
2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
− | + | [[파일:붕어빵틀과 붕어빵.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의 관점에서 클래스의 타입으로 선언되었을 경우 '객체'라고 불린다. | + | 객체는 '클래스의 인스턴스'라고 불리기도 하며, 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다. OOP의 관점에서 클래스의 타입으로 선언되었을 경우 '객체'라고 불린다.<ref>〈[https://gmlwjd9405.github.io/2018/09/17/class-object-instance.html 객체 특징]〉, 《Github - [JAVA]클래스, 객체, 인스턴스의 차이》, 2018-09-17</ref> |
− | <ref> | ||
===구성요소=== | ===구성요소=== | ||
− | 객체는 속성과 기능, 두 종류의 구성요소로 이루어져 있으며, 일반적으로 객체는 다수의 속성과 기능을 가지고 있다. 즉 객체는 속성과 기능의 집합이라고 할 수 있다. 또한, 객체가 가지고 있는 속성과 기능을 그 객체의 멤버라고 한다. 속성으로는 멤버변수, 특성, 필드, 상태가 있으며, 기능으로는 메소드, 행위, 함수가 있다. | + | 객체는 속성과 기능, 두 종류의 구성요소로 이루어져 있으며, 일반적으로 객체는 다수의 속성과 기능을 가지고 있다. 즉 객체는 속성과 기능의 집합이라고 할 수 있다. 또한, 객체가 가지고 있는 속성과 기능을 그 객체의 멤버라고 한다. 속성으로는 멤버변수, 특성, 필드, 상태가 있으며, 기능으로는 메소드, 행위, 함수가 있다.<ref>〈[https://doublesprogramming.tistory.com/68 객체 구성요소]〉, 《Tistory - doublesprogramming》, 2017-01-31</ref> |
− | <ref> | ||
===예시=== | ===예시=== | ||
클래스를 이용하여 객체를 만드는 방법으로는 두 가지가 있다. 첫 번째 방법은 클래스 변수를 선언하고, 변수에 new 연산자를 사용하여 클래스를 생성하는 방법이다. | 클래스를 이용하여 객체를 만드는 방법으로는 두 가지가 있다. 첫 번째 방법은 클래스 변수를 선언하고, 변수에 new 연산자를 사용하여 클래스를 생성하는 방법이다. | ||
− | 두 번째 방법은 클래스 변수를 선엄함과 동시에 new 연산자를 사용하여 클래스를 생성하는 방법으로 즉, 방법1을 짧게 줄여 표현한 식이다. | + | 두 번째 방법은 클래스 변수를 선엄함과 동시에 new 연산자를 사용하여 클래스를 생성하는 방법으로 즉, 방법1을 짧게 줄여 표현한 식이다.<ref name="객체"/> |
− | <ref | ||
[방법1] | [방법1] | ||
32번째 줄: | 25번째 줄: | ||
{{각주}} | {{각주}} | ||
− | |||
==참고자료== | ==참고자료== | ||
− | + | * [스터디_자바 기본]클래스와 객체〈[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》 | ||
== 같이 보기 == | == 같이 보기 == | ||
44번째 줄: | 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 클래스명();
각주[편집]
참고자료[편집]
- [스터디_자바 기본]클래스와 객체〈객체 개요〉, 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)
- 클래스
- 인스턴스
- 속성
- 메소드