클래스, 객체, 인스턴스의 개념
클래스
- 개념
- 객체를 만들어 내기 위한 설계도 혹은 틀
- 연관되어있는 변수와 메소드의 집합
객체
- 개념
- 소프트웨어 세계에 구현할 대상
- 클래스에 선원된 모양 그래도 생성된 실체
- 특징
- '클래스의 인스턴스' 라고도 부른다.
- 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖는다.
- oop의 관점에서 클래스의 타입으로 선언되었을 때 '객체'라고 부른다.
인스턴스
- 개념
- 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
- 즉, 객체를 소프트웨어에 실체화 하면 그것을 '인스턴스'라고 부른다.
- 실체화된 인스턴스는 메모리에 할당된다.
- 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
- 특징
- 인스턴스는 객체에 포함된다고 볼 수 있다.
- oop의 관점에서 객체가 메모리에 할당되어 실제 사용될 때 '인스턴스'라고 부른다.
- 추상적인 개념과 구체적인 객체 사이의 관게에 초점을 맞출경우에 사용한다.
- 객체는 클래스의 인스턴스다.
- 객체간의 링크는 클래스 간의 연관관계의 인스턴스다
- 실행 프로세스는 프로그램의 인스턴스다.
- 즉 인스턴스라는 용어는 반드시 클래스와 객체 사잉의 관계로 한정지어서 사용할 필요는 없다.
- 인스턴스는 어떤 원본으로부터 '생성된 복제본'을 의미한다.
예시(java)
/* 클래스 */
public class Music {
...
}
/* 객체와 인스턴스 */
public class Main {
public static void main(String[] args) {
Music EDM, JAZZ; // '객체'
// 인스턴스화
EDM = new Music(); // cat은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당)
JAZZ = new Music(); // dog은 Animal 클래스의 '인스턴스'(객체를 메모리에 할당)
}
}
'코딩연습 > 과제' 카테고리의 다른 글
절대경로 : 상대경로 (0) | 2019.08.04 |
---|---|
DNS란? (0) | 2019.08.04 |
네트워크 전송에서 GET방식과 POST방식 (0) | 2019.07.25 |
사설IP vs 공인IP, NAT (0) | 2019.07.12 |
(C언어)메모리구조 동적할당 파일 입출력 (0) | 2019.07.10 |