1. 변수타입 : 일반변수
Int a = 10; 10이 a로 그냥 들어가는 것. a 는 10으로 본다.
2. 변수타입 : 레퍼런스 변수
자동차 a; a에는 자동차 리모콘이 들어간다. 자동차가 들어가는게 아니다.
* 레퍼런스 변수는 class 를 만들지 않으면 실행 할 수 없다.
3. class 기능
l 변수 만들기 (레퍼런스 변수)
l 리모콘 만들기
l 객체 만들기
4. class 만드는 이유
* java에서는 객체를 1개라도 만들려면 설계도를 꼭 만들어야 한다.
5. 특징
l java 만의 특징.
- 클래스, 객체, new, 리모콘
l 일반적인 언어로서의 특징
- 변수, 함수, 리턴, 매개변수, if, while
l 이 중 상속이 가장 중요하다.
6. class 를 함부로 지우지 않고 다른 class 를 만들어 준다. 어딘가에서 사용되고 있을지도 모르기 때문에.
7. Java 객체 지향 목적
* Void 중복을 어떻게 하면 깔끔하게 정리, 제거 할 수 있을까….
8. 객체 생성을 위한 class(설계도)를 만들어 준 뒤, class A extends B 를 작성할 때,
A is B 는 상식적으로 생각했을 때 말이 되는 조합으로 만들어주어야 한다.
예시) class 청둥오리 extends 흰오리 { : 만들면 안되는 조합.
* Java는 청둥오리가 흰오리인지 알지 못하기 때문에 우리가 제대로 판단을 해서 입력해야 한다. 그렇지 않으면 불명확
한 자료로 데이터를 만들 수 밖에 없게 된다.
9. 객체지향에서는 상속보다 ‘구성’이 더 중요하다.
l 상속 : is a 관계.
l 구성 : has a 관계.
10. 상속이란 ? & 상속의 한계.
l 장점 : 부모클래스의 메서드를 extends 로 복사하여 사용할 수 있다.
l 단점 : 그대로 사용해야 한다.
l 부모클래스의 마음에 들지 않는 메서드를 메서드 재정의(=오버라이드) 를 통하여 단점 보완.
l 더 복잡한 상황에서는 상속으로 커버가 어렵다.