
Java 面接 族譜 整理 (12日次)
1. is a 關係와 has a 關係에 對하여 說明하시오。
is a (~은~이다。) : 相續(繼承)關係
- 노트북은 컴퓨터이다。(正)
- 電氣自動車는 自動車이다。(正)
- ColorTV는 TV이다。(正)
- 조금이라도 疑心스러우면 그것은 is a 關係가 아니다
→ has a 關係이다。
has a는 (~은~을 가지고 있다。) : 包含關係 (相續不可能)
class Computer {
Cpu cpu;
Motherboard motherboard;
Memory memory;
…
}
2. 多形性・多態性 (polymorphism) 이란 무엇인가?
- 型이 많다。(many formas) 相續關係에서 서로 關聯된 많은 클래스들이 있을 때 「多形性」 이라고 말한다。
- 客體指向프로그래밍 OOP(Object-Oriented Programming)의 核心槪念中 하나
- is a 의 相續關係라면 그 客體는 多形性이다。
- 客體에 接近하는 唯一한 方法이 參照變數를 通한 것이기 때문에 可能하다。
- polymorphism(多形性)의 活用方法 : 假想메소드 呼出(virtual method invocation)
父母 = 子息 (without 型變換)
父母클래스타입(參照型)으로 自息클래스의 客體를 生成할 수 있다。
基本的으로 反對의 境遇는 不可能 (나중에 되는 케이스를 배우긴 한다…)