Object(객체)란?
객체(Object)는 소프트웨어 세계에서 현실 세계의 사물이나 개념을 추상화하여 표현한 것입니다. 객체는 속성(데이터)과 행동(메서드)을 함께 가지고 있습니다.
객체의 특징
- 속성(필드, 프로퍼티): 객체가 가지고 있는 데이터(예: 사람 객체의 이름, 나이)
- 행동(메서드, 함수): 객체가 할 수 있는 동작(예: 사람 객체의 걷다, 말하다)
클래스와 객체의 차이
- 클래스(Class): 객체를 만들기 위한 설계도(청사진)
- 객체(Object, 인스턴스): 클래스를 바탕으로 실제 메모리에 만들어진 실체
예시:
사람
이라는 클래스를 바탕으로 실제 “홍길동”이라는 객체를 생성
객체의 생성 예시 (Java)
class Person {
String name;
int age;
void sayHello() {
System.out.println("안녕하세요, 저는 " + name + "입니다.");
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person(); // 객체 생성
p1.name = "홍길동";
p1.age = 20;
p1.sayHello(); // 출력: 안녕하세요, 저는 홍길동입니다.
}
}
객체지향 프로그래밍(OOP)에서의 객체
- 객체는 프로그램의 구성 요소로, 서로 메시지를 주고받으며 상호작용합니다.
- 객체지향의 4대 특성: 추상화, 캡슐화, 상속, 다형성
용어 정리
- Object(객체): 속성과 행동을 가진 실체
- Class(클래스): 객체를 만들기 위한 설계도
- Instance(인스턴스): 클래스를 통해 생성된 실제 객체
참고
- 객체는 현실 세계의 사물뿐만 아니라, 개념(예: 주문, 계좌)도 객체로 표현할 수 있습니다.
- 객체는 독립적으로 존재하지 않고, 서로 관계를 맺으며 프로그램을 구성합니다.
이 글에서는 객체의 기본 개념과 클래스와의 차이, 객체지향 프로그래밍에서의 객체의 역할을 간단히 정리했습니다.