반응형

객체 지향 프로그래밍은 객체를 프로그램의 기본 단위로써 나누고 그 객체들이 상호 작용 하는 프로그램이라 배웁니다.

그렇다면 여기서 말하는 객체란 정확히 무엇일까요? 함께 학습이 필요한 클래스와 인스턴스도 같이 알아보겠습니다.

 

 

클래스(Class)

 - 객체가 정의된 '설계도'

 - 객체를 생성 하기 위해서 클래스가 꼭 필요함

 - 객체의 생성을 위한 용도이지 객체로써 직접 사용 할 수 없음

 

객체(Obejct)

 - 클래스를 이용해 만들어진 객체

 - 모든 인스턴스는 객체에 포함됨

 

인스턴스(Instance)

 - 인스턴스화는 클래스로부터 객체를 만드는 과정임. ex) Unit unit = new Unit():

 - 클래스를 사용해서 만들어진 객체를 '인스턴스 객체'라고 부름

 - 모든 인스턴스는 객체에 포함됨

 

 

아래 코드를 보면 이해를 좀 더 쉽게 할 수 있습니다.

우선 class Unit 에서 다양한 변수 및 메소드를 설정 할 수 있습니다. 이 과정을 설계도에 작업이라 생각 하시면 됩니다.

그리고 메인 클래스에서 Unit marine = new Unit()은 클래스를 인스턴스화 하는 부분입니다.

그 인스턴스를 포함하고 있는 부분은 ClassInstanceObject인 객체입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<code>
// 큰 의미의 객체와 인스턴스
public class ClassInstanceObject {
    public static void main(String[] args) {
        // 클래스를 인스턴스화 하고 있는 부분
        Unit marine = new Unit();
        Unit medic = new Unit();
    }
}
 
// 클래스 (설계도)
class Unit {
     
}
 
</code>
반응형

+ Recent posts