자바는 단일 상속까지만 가능하다
재사용, 기능확장
부모 일반적 기능
자녀 구체적인 기능
자바의 모든 메서드는 가상함수이다
부모타입 변수 = 생성은 자녀타입으로 함
자녀가 부모의 함수 오버라이딩하였다 calcPrice 라고하자
부모타입 변수.calcPrice 호출하면
자녀의 오버라이딩 함수 호출된다
클래스 인스턴스 생성시
변수는 힙메모리
함수는 코드메모리 올라감
함수안의 지역변수는 스택에 올라감
하나의 클래스로 부터 생성된 인스턴스들은 같은 코드메모리의 함수를 사용한다
a1 과 a2는 참조변수로 스택메모리에 있다는것에 주의할것
customerE instanceOf GoldCustomer
customerE 의 인스턴스가 GoldCustomer 맞는지 확인
다운캐스팅하기 전에 체크할때 사용