Daily coding
Java Basic : day 9 - Final 본문
Final
class MyClass{
private int number; // member 변수
public static int stNumber; // static 변수
public void method() {
int num =0; // local variable 지역변수
num ++;
this.number++;
MyClass.stNumber++;
System.out.println("지역변수 = "+ num);
System.out.println("멤버변수 = "+ number);
// 멤버변수
System.out.println("스태틱 변수 = "+ stNumber);
}
}
// 상속에서의 final : 마지막 상속받은 객체가 된다.
final class YouClass extends MyClass {
* final 상수
// 참고 : c언어 : define / c++ : const
final int NUMBER = 3;
// final : 한번 정의된 후에는 값을 바꿀 수 없음
// final 변수는 대문자로 선언한다 (가독성을 위한 규칙)
// final 메소드 : 오버라이딩 막아두는 키워드
final public void fianlMethod() {
}
}
// 메인메소드
public class Final {
public static void main(String[] args) {
MyClass cls = new MyClass();
cls.method();
cls.method();
cls.method();
MyClass cls1 = new MyClass();
cls1.method();
cls1.method();
cls1.method();
// 멤버변수는 새로운 인스턴스가 생성되면 0부터 다시 시작하지만
// Static 변수는 새로운 인스턴스가 생겨도
// 전체 호출된 횟수만큼 연산처리된 값이 들어간다.
// MyClass mcls = new YouClass();
// MyClass가 최상위의 부모클래스 일 때
// 위와 같은 의미의 코드는 아래 코드
Object mcls = new YouClass();
MyClass my = (MyClass)mcls;
YouClass yo = (YouClass)my;
YouClass ycl = new YouClass();
// MyClass my = (MyClass)ycl; <-- 불가능한 코드
}
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 10 - 제네릭 Generic (0) | 2019.11.29 |
---|---|
Java Basic : day 9 - Example : 회원관리DAO (회원정보 입출력 / 파일저장,읽기) (0) | 2019.11.29 |
Java Basic : day 9 - Inheritance 상속 4 : 예시 (0) | 2019.11.29 |
Java Basic : day 9 - Inheritance 상속 3 - Overriding 오버라이딩 (0) | 2019.11.29 |
Java Basic : day 9 - Inheritance 상속 2 - super 참조 (0) | 2019.11.29 |