Java 기초 상속(3) - static
728x90
기본 환경
JDK : 1.8.0_261 버전 JRE : 1.8.0_261 버전 JAVA VERSION : 8 업데이트 261 Eclipse IDE VERSION : 2020-06버전 |
목표
상속받았을 때 static을 사용하는 법을 이해한다.
코드
package ex12inheritance; /* static(정적) 타입의 맴버도 상속이 되고 , 하위 클래스에서 접근할때는 맴버변수의 이름만으로 접근이 가능하다. 단, 클래스 외부에서 접근할 경우 객체생성 없이 클래스명을 통해서도 접근이 가능하다. 즉 static이 가진 기본적인 규칙을 그대로 따른다. */ class Adder { public static int val = 0; /* static으로 선언되 맴버변수는 실제로는 외부(메소드 영역)에 생성되어 있으므로 클래스명을 통한 접근이 허용된다. 코드 레벨에서 보면 해당 클래스의 맴버변수으므로 변수명만으로 접근하는 것도 가능하다. */ public void add(int num) { val += num; Adder.val += num; } } //자식 클래스의 맴버메소드는 모두 실행가능한 코드임. 접근의 문제 없음. class AdderFriend extends Adder{ public void friendAdd(int num) { val += num; Adder.val += num; } public void showVal() { System.out.println("val = " + val); System.out.println("val = " + Adder.val); } } public class E03StaticInheritance { public static void main(String[] args) { Adder ad = new Adder(); AdderFriend adFriend = new AdderFriend(); ad.add(1); adFriend.friendAdd(3); Adder.val += 5; AdderFriend.val += 7; adFriend.showVal(); } }
원래의 static 규칙과 똑같습니다. 다만 상속받았을 경우 클래스명을 구지 쓰지 않아도 된다는 특징이 있습니다.
결과 값

'Java > Java_기초부터 _끝까지' 카테고리의 다른 글
Java 기초 상속(5) - 경찰과 총의 소유관계 (0) | 2020.11.24 |
---|---|
Java 기초 상속(4) - 컴퓨터 상속 구조 (0) | 2020.11.24 |
Java 기초 상속(2) - 접근제어 (0) | 2020.11.18 |
Java 기초 상속(1) - 기본개념 (0) | 2020.11.18 |
Java 기초 static(3) - 싱글톤 디자인 패턴 (0) | 2020.11.17 |
댓글을 사용할 수 없습니다.