상속 이해해보기
class Person { private String name(); private String getName() { return this.name; } } class Tutor extends Person { private String address; //Person 클래스를 상속했기 때문에, //name 멤버변수와 getName() 메소드를 가지고 있다. }
설명:
Person이라는 class를 하나 만들고, 그 안에
name이라는 멤버 변수가 있다.
getter로 getName이 있다.
그리고 Tutor라는 class를 하나 만들었다.
그게 만약에 extends Person이라면, 즉 Person을 상속받았다면 address라는 멤버 변수만 선언하더라도, 자동으로 상속받은 name 멤버 변수와, getName 를 가진다. 그래서 Tutor에서도 name과 getName을 사용할 수 있다.
이것이 바로...상속!
DB의 기본 중의 기본은, "생성일자"와 "수정일자"를 필드로 가지는 것!!
- 데이터가 언제 생성됐고, 언제 수정됐는지를 아는 게 중요하다.
- 클래스를 만들 때 마다 매번 멤버변수를 새로 만들 필요가 있을까?
- 그걸 해결하기 위해 '상속'이 나온 것이다.
- 예를들어, Timestamped class에 생성일자, 수정일자를 멤버변수로 선언해놓고 그걸 상속받아 가져다 쓰면 쉽다!