OOP(has/is 형변환)

개발새발 해도 개발자·2022년 2월 13일
0

java

목록 보기
9/9

Reference Type Casting

has/is a Relationship을 갖고 있는 Super class와 Sub class 간의 형 변환

class Super {
	public void a() {
		System.out.println("Super : a()");
	}
}

class Sub extends Super {
	public void a() {
		System.out.println("Sub : a()");
	}

	public void b() {
		System.out.println("Sub : b()");
	}
}

public class CastingComplete {
	public static void main(String[] args) {
		System.out.println("Super s1 = new Super()");
		Super s1 = new Super();
		s1.a(); //Super : a()

		System.out.println("Sub s2 = new Sub()");
		Sub s2 = new Sub();
		s2.a(); //Sub : a()
		s2.b(); //Sub : b()

		System.out.println("Super s3 = new Sub()");
		//묵시적 형변환
		Super s3 = new Sub();
		s3.a(); //Sub : a()
        //부모님한테 천원이 있었어요. 자식은 부모님에게 천원을 받아 껌를 샀습니다.
        //부모의 입장에서 가지고 있던 돈이 자식에게서 껌으로 변했으니 껌을 참조한다.
        //s3.b(); //=>error, s3는 b()를 참조할 수 없다.

		//명시적 형변환
		Sub sub = (Sub)s3;
		sub.b(); //Sub : b()

Interface

: 일종의 abstract class보다 추상화 정도가 높고, 추상화 되지 않은 method 또는 member variable을 구성원으로 가질 수 없다. 즉, 상수와 추상 method들로 구성되어 있는 interface

iterface 인터페이스이름{
	(public static final) 타입 상수 이름 = 값; //public static final은 생략 가능
	(public abstract) method 이름(매개변수);   //public abstract는 생략 가능
}

Garbage Collector garbage collector

: Heap 영역의 Object 중 stack 에서 도달 불가능한 (Unreachable) Object들을 처리하는 기능.
garbage collecting : Heap 영역의 Object 중 stack 에서 도달 불가능한 (Unreachable) Object들을 처리하는 과정
garbage collection : garbage collector가 garbage collecting하는 모든 과정

profile
컴퓨터가 알아서 해주는건 없다. 게으른 개발자가 되자

0개의 댓글

관련 채용 정보