static은 이미 먼저 생긴다.
메소드와 달리 각 객체마다 static 필드, 메서드는 중복된 채로 존재한다.
1. 필드
왼쪽이 부모로 선언...
부모값 접근 가능
왼쪽이 중요!
왼쪽에 자식으로 선언
자식 값인 4가 출력된다.
왼쪽이 중요!
왼쪽은 부모이다. 생성은 자식으로 되어있어도. ... 부모꺼로 접근
부모꺼로 출력한다 // 3
왼쪽이 중요하다!!!!!!!!!!!
어떤 타입으로 선언하느냐가 중요하다
분리해서 저장하기 때문에
오버라이딩이 되지 않는다
2. static 필드
초록색 동그라미 안에는 4개의 영역이 존재한다.
Class영역
Static 영역
Method 영역
상수 영역
static은 static영역에서 공용으로 사용한다.
static영역에서 객체 안에 각각 static m이 각각 살아있다.
왼쪽이 중요하다!
자식으로 선언 되어있으면.. 자식꺼 부른다. //4
왼쪽이 중요하다
자식이 선언 --> 4로 출력
왼쪽이 중요하다!!
왼쪽은 부모로 선언 출력은 부모꺼로 //3
첫번째는 클래스로 바로 static 값에 접근 가능하다. 이게 정석이다.
왼쪽이 중요하다~~~
A선언 -> //3
B선언 -> //4
A선언 -> //3
3. static 메서드
Static method도 마찬가지다.
각각 존재한다.
왼쪽이 중요하다
A선언 -> A출력
왼쪽이 중요하다
B선언 -> B출력
첫번째는 클래스로 바로 static 값에 접근 가능하다. 이게 정석이다.
왼쪽이 중요하다~~~
A선언 -> //A
B선언 -> //B
A선언 -> //A
4. 총 정리
나머지는 왼쪽 기준으로
인스턴스 메서드만 오른쪽 기준으로 오버라이딩한다.
'java > 자바' 카테고리의 다른 글
[Chap11] - 자바 제어자 #2 (final, abstract) (0) | 2022.09.25 |
---|---|
chap[10-5] super와 super() (0) | 2022.09.25 |
chap[10-3] 메서드 오버라이딩 (0) | 2022.09.11 |
chap[10-2] 객체의 타입변환 (0) | 2022.09.11 |
[Ch10] 클래스의 상속 (0) | 2022.08.22 |