추상화 과정
1. 객체 모델링
2. 클래스 설계
3. 객체 생성
클래스 접근 권한 ex) public, private
default(생략) : 동일한 패키지에서만 접근 가능
public : 어디에서나 접근 가능
private : 클래스 안에서만 접근 가능
protected : 동일한 패키지 및 하위 클래스에서 접근가능
인스턴스 변수 (인스턴스 : 할당 받음)
객체를 생성해야 접근할 수 있는 변수
"new 생성자()"를 호출할 때마다 메모리 할당이 됨
객체가 null이 되거나 오랫동안 객체를 참조하지 않는 경우 메모리가 회수됨
클래스 변수
클래스가 메모리에 로딩될 때 한번 메모리가 할당된다.
객체 생성과 무관하게 클래스명을 이용하여 바로 접근하여 사용할 수 있다.
프로그램이 종료되는 시점에 메모리에서 사라짐
인스턴스 메소드
new 생성자( )를 이용하여 객체를 생성해야 접근할 수 있다.
인스턴스 변수, 클래스 변수, 다른 인스턴스 메소드, 클래스 메소드를 호출 할 수 있다.
클래스 메소드
객체 생성과 상관 없이 클래스명을 이용하여 바로 접근이 가능한 메소드
클래스 변수나 클래스 메소드는 바로 접근이 가능하다.
(인스턴스 변수나 인스턴스 메소드는 객체를 생성해야 접근이 가능하다.)
(클래스 변수나 클래스 메소드를 객체를 통해 접근은 가능하지만 권장하지 않음)
필드 접근 제어 : private < default < protected < public
레퍼런스 변수
기본형 제외한 나머지 타입
주 기억 장치에 저장되어 있는 객체의 주소 값 가리킨다.
ex) 배열, 클래스, 인터페이스, enum
지역변수는 자동으로 초기화가 되지 않는다.
클래스명@해시코드
해시코드 : 자바에서 객체를 빠르게 검색할 목적으로 사용하며,
동일한 객체는 해시코드가 동일하지만, 해시코드가 같다고 같은 객체는 아니다.
'Study > 쌍용' 카테고리의 다른 글
자바 상속 & super (0) | 2022.07.25 |
---|---|
자바 기본 API 클래스(2) (0) | 2022.07.23 |
자바 기본 API 클래스(1) (0) | 2022.07.22 |
자바 객체지향(3) (0) | 2022.07.21 |
자바 객체지향(2) (0) | 2022.07.20 |