클래스
클래스의 기능: 객체를 정의해 놓은 것
클래스의 용도: 클래스는 객체를 생성하는데 사용 됨
객체
객체의 기능: 실제로 존재하는 것 (사물 또는 개념)
객체의 용도: 객체의 속성과 기능에 따라 다름.
클래스 | 객체 |
붕어빵 기계 | 붕어빵 |
제품 설계도 | 제품 |
TV 설계도 | TV |
즉, 클래스는 객체(사물 혹은 개념)을 설계하는데 필요한 설계도
그러면 인스턴스는?
인스턴스는 객체와 매우 유사하다.
실존하는 사물(ex. Tv)이 있을 때 디지털화 하게 되면 사물의 특성만을 가지고 있다.
디지털세계에서 특성만을 가지고는 사용할 수 없고, 사용할 수 있게끔 변환하는 과정을 인스턴스화라고 한다.
변환이 끝난 것은 클래스의 인스턴스, 혹은 객체라고 불린다.
TV를 사용하기 위해서는 TV 클래스를 통해 TV 객체를 생성해야 된다.
즉, TV 설계도를 통해 TV를 만드는 것이고, TV설계도(클래스)가 있다면 새로운 TV를 만드는 것이 어렵지 않다.
객체는 서로 독립적이다.
클래스(TV설계도)가 새로운 객체(TV)를 만들더라도 이전의 객체(TV)에 영향을 주지 않는다.
그래서 객체와 인스턴스의 차이가 뭔데?
위의 예를 보았을 때 붕어빵기계와 TV설계도는 둘 다 클래스다.
붕어빵기계를 통해 붕어빵을 만드는 과정, TV설계도를 통해 TV를 제작하는 과정을 인스턴스화라고 한다.
각각의 붕어빵과 TV는 하나의 객체라고 볼 수 있고,
붕어빵은 붕어빵기계의 인스턴스, TV는 TV설계도의 인스턴스라고 불린다.
즉, 독립적으로 보았을 때, 붕어빵과 TV는 하나의 객체인 것이고,
종속적으로 본다면 붕어빵은 붕어빵기계의 인스턴스, TV는 TV설계도의 인스턴스이다.
독립적: 붕어빵(객체), TV(객체)
종속적: 붕어빵 클래스의 인스턴스(붕어빵), TV 클래스의 인스턴스(TV)
요약
인스턴스화
- 클래스로부터 객체를 만드는 과정
- 어떤 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 한다.
객체: 모든 인스턴스를 대표하는 포괄적 의미
인스턴스: 어떤 클래스로부터 만들어진 것인지를 강조하는 구체적인 의미
이해하기 어렵다면 객체와 인스턴스를 동일하게 생각해도 무방하다.
'Java' 카테고리의 다른 글
자바 상속(inheritance)의 개념 (부모클래스, 자식클래스, extends) (0) | 2022.01.05 |
---|---|
자바 Random() 함수를 이용하여 로또생성 프로그램 만들기 (0) | 2022.01.05 |
public static void main(String[] args)는 무슨 의미일까? (0) | 2022.01.01 |
public, protected, default, private 접근제한자 (0) | 2021.12.31 |
자바의 정석 연습문제 4.6 풀이 (0) | 2021.12.31 |
댓글