객체 지향 프로그래밍(Object Oriented Programming)2 - 추상화(Abstraction)
2021. 10. 26. 10:59ㆍJava
현실의 객체가 갖는 속성과 기능은 추상화(abstraction)되어 클래스에 정의된다
클래스는 구체화 되어 프로그램의 객체(instance, object)가 된다.
클래스(class)
- 객체를 정의해 놓은 것, 틀, 설계도
- 객체를 생성할 때 사용
- 데이터 타입
- 관련 있는 변수와 함수를 묶어서 만든 사용자 정의 자료형
객체(instance, object)
- 클래스를 구체화 한 것
- 실제로 동작하는 것
- 메모리에 생성된 데이터
객체 생성과 메모리 - JVM의 메모리 구조
class area
클래스 원형 로딩
- Field 정보
- Method 정보
- 타입 정보
- 상수 풀
method stack
메서드들 실행 공간
- thread별로 별도 관리
- 메서드 호출 순서대로 쌓임(후입선출)
- 메서드 프레임에 로컬 변수도 쌓임
- 로컬변수는 선언된 영역을 벗어나면 삭제
heap
객체 저장 위한 영역
- thread에 의해 공유
- GC만 생성된 객체 제어
출처
'Java' 카테고리의 다른 글
객체 지향 프로그래밍(Object Oriented Programming)5 - 다형성(Polymorphism) (0) | 2021.10.30 |
---|---|
객체 지향 프로그래밍(Object Oriented Programming)4 - 캡슐화(Encapsulation) (0) | 2021.10.30 |
객체 지향 프로그래밍(Object Oriented Programming)3 - 상속(Inheritance) (0) | 2021.10.30 |
객체 지향 프로그래밍( Object Oriented Programming)1 (0) | 2021.10.26 |