[java] 클래스와 인스턴스
- study
- 2021. 6. 10. 23:41
클래스와 인스턴스
클래스
- 인스턴스를 생성하기 위한 틀
- 클래스 자체만으로는 상태가 없다.
- 클래스 메서드
- 인스턴스의 상태와는 관련이 없다.
- 인스턴스를 생성하지 않은 상태에서도 호출이 가능하다.
- 클래스 메소드는 유틸리티 메소드라고 부른다.
- 클래스 필드
- 여러 인스턴스에서 공유하는 정보가 있는 경우 사용한다.
인스턴스
- 단수 의미로의 객체
- 클래스를 통해 실체화되어 생성된다.
- 인스턴스는 상태를 가지며, 메서드를 통해 인스턴스의 상태가 변경된다.
- 인스턴스 메서드
- 인스턴스의 상태를 변경하거나 상태 정보를 반환할 때 사용하는 메소드
- 인스턴스를 생성한 후 메시지를 보낼 수 있다.
- 인스턴스 필드
- 인스턴스의 상태 정보를 가지고 있는 변수
- 상태변수라고도 이야기 한다.
메모리 구조
클래스 필드와 메소드
- 클래스 필드와 메소드는 MehodArea에 존재한다.
- 클래스가 로더 될 때 메모리 할당을 함으로 따로 인스턴스를 만들지 않아도 사용이 가능하다.
인스턴스 필드와 메소드
- 주소값을 담은 인스턴스 객체는 Stack영역에 생성된다.
- 실제 객체의 데이터를 담은 메모리는 new 연산자를 통해 Heap영역에 생성된다.
참고
https://www.youtube.com/watch?v=UzaGOXKVhwU
https://www.youtube.com/watch?v=AWXPnMDZ9I0&t=10s
- 더 읽어보기
https://catch-me-java.tistory.com/9?category=438116
'study' 카테고리의 다른 글
[java]JVM JRE JDK (0) | 2021.06.17 |
---|---|
내가 만난 CORS 관련 문제 (2) | 2021.06.14 |
[JAVA] Optional (0) | 2021.05.15 |
Spring DI (0) | 2021.04.30 |
Spring 동작원리 (2) | 2021.04.30 |