"주제글"이 클래스라고 하면, "잡담주제글1", "잡담주제글2"는 객체(오브젝트)임.
"잡담주제글1"과 "잡담주제글2"는 서로 다른 존재지만 둘 다 "주제글"임.
"주제글"에는 "종료하기" 기능(메소드)이 있음.
"주제글"의 "종료하기"를 실행하면 데이터베이스에 "이 주제글은 종료됨"하고 딱지를 붙임. 주제글은 더 이상 글을 사용할 수 없음.
그런데 내가 갑자기 미쳐서 "주제글이 종료되면 삭제되는 특수한 휘발성 주제글 기능을 만들어야지!"라고 생각함.
"휘발성주제글" 클래스를 만들 건데, 이 주제글은 "종료하기" 동작 외에는 "주제글" 클래스와 다를 게 없음.
그래서 "휘발성주제글"은 "주제글"을 상속한다고 선언하고, "휘발성주제글"의 "종료하기" 기능이 실행되면 해당 주제글(오브젝트)가 데이터베이스에서 완전히 삭제되도록 만듬.
"휘발성주제글"은 "주제글"을 상속한 상태에서 "종료하기" 기능만 덮어씌운 거임.(오버라이딩)