Object(객체)란 무엇인가?

basic , java , oop

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(인스턴스): 클래스를 통해 생성된 실제 객체

참고

  • 객체는 현실 세계의 사물뿐만 아니라, 개념(예: 주문, 계좌)도 객체로 표현할 수 있습니다.
  • 객체는 독립적으로 존재하지 않고, 서로 관계를 맺으며 프로그램을 구성합니다.

이 글에서는 객체의 기본 개념과 클래스와의 차이, 객체지향 프로그래밍에서의 객체의 역할을 간단히 정리했습니다.

효준's profile image

효준

2024-06-13 10:00

다른글 보러가기

wsdl 에 대해 알아보자

이전 포스트

이펙티브 자바 아이템 1: 생성자 대신 정적 팩터리 메서드를 고려하라

다음 포스트