객체지향

  1. 캡슐화
  2. 상속
  3. 추상화
  4. 다형성

한 파일에 여러 클래스 작성하기

보통 하나의 소스파일에 하나의 클래스를 정의하는 것이 보통이지만, 둘 이상의 클래스를 정의하는 것도 가능하다.

이때 소스파일의 이름은 public 클래스의 이름과 일치해야 한다.

public 클래스가 없다면 어떤 클래스이건 소스파일의 이름과 일치하는 클래스가 있어야 한다.

— 책 164쪽 참고 —

객체의 생성과 사용

// 1. **클래스 정의**
Car Avante{
  .....
}

// 2. **참조변수 선언**
Car c1;

// 3. **객체 생성, 생성자 호출 / 참조변수에 주소 대입**
c1 = new Avante();
// c1 에는 생성된 객체의 주소가 할당

// 4. 한번에 하는 법
Car c2 = new Avante();
Tv t1 = new Tv();
Tv t2 = new Tv();

t2 = t1;
// t2의 주소를 t1의 주소로 바꾼다.
// 원래 t2의 객체 주소가 사라졌으므로 해당 객체는 GC(가비지 컬렉터)가 알아서 지워준다.