has-a
- 상속을 사용하지 않는다.(포함관계)
- 다른 클래스의 기능 (변수 혹은 메소드)을 받아들여 사용한다.

Computer라는 class를 CPU,RAM,Mainboard 같은 하위 클래스가 상위 클래스를 소유하고 사용하는 관계이다.
is-a
- 상하관계가 있다.
- 상속을 사용하기에 효율적이다.
- 하위 클래스가 상위 클래스의 한 종류가 되는 것 (종속)

Human,Cow,Bird 모두 동물(Animal)에 속한다.
즉 일반 클래스를 구체화 하는 상황에서 사용한다.
그림 및 내용 참고
상속
- 상위 클래스는 하위 클래스의 정보를 모른다. 즉 리턴만 가능하다.
하지만 하위 클래스는 상위클래스의 정보를 알기 때문에 변수나 메소드를 가져와서 사용할 수 있다.
- 하위 클래스에서 객체를 생성하면 응용할 수 있고 또 그 밑에 하위 클래스가 생성되면
그 하위 클래스는 상속된 상위 클래스의 정보를 불러올 수 있다.
하위 클래스 생성과정
1.상위 클래스를 상속받은 하위 클래스가 생성될 때는 반드시 상위 클래스의 생성자가 먼저 호출 된다.
2.상위 클래스 생성자가 호출될 때 상위 클래스의 멤버변수가 메모리에 생성된다.
클래스간의 상속
- 클래스의 기능은 자유롭게 호출하고 기능을 확장하기 위해 먼저 선언된 클래스의 선조로,
기능을 필요로 하는 클래스를 후손으로 관계를 갖는다.
- 단일 상속을 원칙으로 하며 다중상속은 클래스간의 허용하지 않는다.