-
[자바의 정석] ch6-22 ~ ch6-29 객체지향 개념 정리 (호출스택, static 메서드)Programming Language/Java 2021. 7. 16. 22:19
ch6-22 호출스택
- 메서드 수행에 필요한 메모리가 제공되는 공간
- 메서드가 호출되면 호출스택에 메모리 할당. 종료되면 해제.
스택(stack): 밑이 막힌 상자. 위에 차곡차곡 쌓임
ch6-23 기본형 매개변수
* 스택 부분 코드 보며 그림 그릴 수 있어야함
기본형 매개변수 - 변수의 값을 읽기만 할 수 있음 (read only)
참조형 매개변수 - 변수의 값을 읽고 변경할 수 있음(read & write)
ch6-24 참조형 매개변수
* 스택 부분 코드 보며 그림 그릴 수 있어야함
ch6-25 참조형 반환타입
* 스택 부분 코드 보며 그림 그릴 수 있어야함
* static 메서드는 객체 생성 없이 호출 가능함
ch6-26 static 메서드와 인스턴스 메서드
-> iv 사용 여부로 나뉨
인스턴스 메서드
- 인스턴스 생성 후, '참조변수.메서드이름()'으로 호출
- 인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드
- 메서드 내에서 인스턴스 변수(iv) 사용 가능
static 메서드(클래스 메서드)
- 객체 생성 없이 '클래스이름.메서드이름()'으로 호출
- 인스턴스 멤버(iv,im)와 관련없는 작업을 하는 메서드
- 메서드 내에서 인스턴스 변수(iv) 사용 불가
ch6-27 static 메서드와 인스턴스 메서드 - 예제
- 프로그래머라면 내가 만든 메서드에 static 붙일지 말지 결정 할 수 있어야함
- static은 iv 필요 없을 때 붙이면됨
ch6-28 static을 언제 붙여야 할까?
- 속성(멤버 변수) 중에서 공통 속성에 static을 붙인다. (ch6-12 클래스 변수와 인스턴스 변수 부분 참고)
1
2
3
4
5
6
7
8
9Class Card {
String kind; //무늬
int number; //숫자
static int width = 100; //폭
static int height = 250; //높이
}cs - 인스턴스 멤버(iv, im)을 사용하지 않는 메서드에 static을 붙인다.
ch6-29 메서드 간의 호출과 참조
- static 메서드는 인스턴스 변수(iv)를 사용할 수 없다.
- static 메서드끼리 호출 가능
- 인스턴스 메서드끼리 호출 가능
- static 메서드가 인스턴스 메서드 호출 불가능
<-------------------------------------------------------------정리------------------------------------------------------------->
Q. static 메서드는 static 메서드 호출 가능?
A. 네
Q. static 메서드는 인스턴스 변수 사용 가능?
A. 아니오
Q. static 메서드는 인스턴스 메서드 호출 가능?
A. 아니오
Q. 왜? static 메서드는 인스턴스 멤버(iv, im)를 쓸 수 없나요?
A. satic 메서드 호출 시 객체(iv묶음)가 없을 수도 있어서
--------------
항상 호출 가능
============================================================================
'Programming Language > Java' 카테고리의 다른 글
[자바의 정석] ch7-1 ~ ch7-11 객체지향 개념 정리 (상속, Object클래스, 오버라이딩, 참조변수 super, 생성자super() ) (0) 2021.07.19 [자바의 정석] ch6-30 ~ ch6-41 객체지향 개념 정리 (오버로딩, 생성자, 생성자 this(), 참조변수 this, 변수의 초기화) (0) 2021.07.16 [자바의 정석] ch6-11 ~ ch6-21 객체지향 개념 정리 (선언위치, 변수종류, 메서드, return문) (0) 2021.07.14 [자바의 정석] ch6-1 ~ ch6-10 객체지향 언어 정리 (0) 2021.07.13 [Java] 자바의 자료형 (식별자, 자료형, 래퍼클래스, 형변환) (0) 2021.05.27