
클래스의 정의.
효과 : 은닉.
기능의 확장이다.
상속을 했는데, 복사가된다고?
상속은 물려받는 대상자가 정한다.
class B extends A
같은 종류 끼리의 상속.
상위타입으로 변수를 설정.
상속 설정을 잘해놓으면, Super만 필요한 기능 추가해도 상속된 Sub에 동일하기 사용할 수 있다.
클래스간의 상속은 오직 단일 상속만 된다.
단 인터페이스끼리, C++ 은 다중 상속이 가능하다. (가능은 하지만, 실제로는 단일을 사용하는 것이 좋다.)
자식인 SubType 보다 부모인 SuperType으로 호출하는 것이 좋다.
서브타입에 추가된 멤버들을 사용하고자 한다면 서브타입으로 형 변환을 한다음 사용한다.
((SubExam01).obj). method2();
상속을 금지하는 지역변수.
메서드 구체적이지 않다.
내용이 없는 추상 메서드.
다양한 형태로 사용될 수 있도록
큰 타입의 자료에 작은타입을 넣을 수 있다.
단 참조 자료 일때.
큰그릇으로 변수를 선언한다.
큰 Type.
list 변수명 = new Arraylist
오버로딩 : 같은 클래스 안에 다른 동일 이름의 메서드를 작성하는 것,
타입이 다르거나, 매개변수가 다른 것을.
오버로딩은 최소화해주는 것이 좋다.
상속관계에서 부모 클래스의 메서드를 재정의하는것.
부모에게 받은 메서드의 매개변수를 재정의 하는 것.
형식이 똑같아야 오버라이딩 할 수 있다.
클래스 이름과 똑같은 메서드 이며, 반환되는 값이 없다.
필요 없는 경우(Scanner)도 있지만, 가능하면 기본 생성자를 만들어라.

Define Spec , 스펙만 정의해주는 것이다.
충전기 설명.
역할
추상 메서드들로만 이루어져있다.
유지보수를 최소화 한다.
인터페이스를 기반으로 한다.
멤버가 존재하지 않는 인터페이스
추상 메서드가 하나만 존재하는 것.
람다 표현식으로 객체를 생성하는 경우가 대부분이다.
인터페이스에 반드시 메서드를 정의 해야만 하는 것은 아니다.
프로젝트에서 사용되는 모든 상수는 인터페이스 하나에 정의 해 두는 것도 좋은 방법이 될 수 있다.
통곡의 벽.
