클래스와 인스턴스
클래스란?
- 클래스는 객체지향 프로그래밍에서 가장 중요한 개념이다.
OOP(객체지향 프로그래밍)
- 수행 과제나 문제를 실세계의 객체로 표현해 사람이 알기 쉽게 풀어나갈 수 있는 방법을 말한다.
클래스란
- 존재할 수 있는 사물을 추상화 시켜놓은 개념
- Java 에서는 Reference Type 의 자료형 에 해당합니다
객체란
- 추상화 시켜놓은 클래스를 구체화 시켜놓은 개념
- 클래스를 변수로 만든 것을 의미
- 일반적으로 객체는 인스턴스 ” 라고 부릅니다 .
- 클래스를 인스턴스로 만드는 과정을 인스턴스화 “ 한다 라고 표현
클래스를 인스턴스로 만드는 인스턴스화의 과정은
“생성자 메소드" 를 호출하는 것과 동일합니다.
클래스의 속성
- "변수"로 정의
- "멤버변수" 혹은 "인스턴스 필드" 라고 부른다.
int 멤버변수;
클래스의 기능
- "메소드" 로 정의
= "인스턴스 메소드" 라고 부른다.
public 인스턴스 메소드(){}
멤버변수의 대상
- 인스턴스 메소드의 영향을 받는 변수들.
- 영향을 받지 않는 변수는 제거하거나 상수로 변경해야한다.
Reference Type?
- Reference Type은 "메모리 참조타입"을 말한다.
- 여러 변수들의 메모리 공간을 종류별로 묶어 그 주소를 참조한다.
PrimitiveType 와 Reference Type 의 차이점
Primitive Type
- 정해진 Byte크기 만큼 메모리를 할당한다.
- 항상 값을 참조한다.
Reference Type
- 여러개의 메소드를 사용하므로 , 하나의 메모리로 사용할 수 없습니다
- 항상 메모리 주소를 참조