-
클래스, 객체와 인스턴스개발/Java 2023. 7. 15. 12:46
클래스
클래스란 '객체를 정의해 놓은 것' 또는 '객체의 설계도 또는 틀'이라고 정의할 수 있다.
클래스는 객체를 생성하는 데 사용되며, 객체는 클래스에 정의된 대로 생성된다.
객체
객체의 사전적인 정의는 '실제로 존재하는 것'이다. 우리가 주변에서 볼 수 있는 사물들을 객체라고 할 수 있다.
객체지향이론에서는 유형적인 사물, 무형적인 개념 둘다 객체로 간주한다.
예를 들어 TV 설계도(클래스)는 TV라는 제품(객체)을 정의한다.
TV 설계도는 TV를 만드는데 사용된다.
클래스는 객체를 생성하는데 사용될 뿐, 객체 그 자체는 아니다.
인스턴스
클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며, 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다.
객체와 인스턴스의 용어는 엄격히 구분되지 않지만, 문맥을 이해하기 쉽게 다음과 같이 설명하면 좋다.
TV 객체는 TV 설계도를 통해 만들어진 인스턴스이다.
객체 - 속성과 기능
객체는 속성과 기능으로 이뤄져 있다. 일반적으로 다수의 속성과 다수의 기능을 갖고 있다.
객체는 속성과 기능의 집합이라고 할 수 있다. 객체가 가지고 있는 속성과 기능을 그 객체의 멤버라고 한다.
속성과 기능을 같은 뜻의 여러가지 용어가 있으니 알아두자
속성 = 멤버변수, 특성, 필드, 상태
기능 = 메서드, 함수, 행위
⚠️ 참고: [Java의 정석]