본문 바로가기

java/자바

chap[10-4] 필드와 static 멤버 (필드_메서드)의 중복

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