참치게시판/
잡담어장이 있으면 수다떨고 싶다, 그건 참치의 자연스런 욕구야! (11)
876
0

#11684잡담어장이 있으면 수다떨고 싶다, 그건 참치의 자연스런 욕구야! (11)종료

작성자 안경의 참치 씨작성일 2026-04-28 (화) 12:06:26갱신일 2026-07-05 (일) 10:39:43
Attachment
아니 문장 쓰고보니 꽤 기네
"주제글"이 클래스라고 하면, "잡담주제글1", "잡담주제글2"는 객체(오브젝트)임.
"잡담주제글1"과 "잡담주제글2"는 서로 다른 존재지만 둘 다 "주제글"임.

"주제글"에는 "종료하기" 기능(메소드)이 있음.
"주제글"의 "종료하기"를 실행하면 데이터베이스에 "이 주제글은 종료됨"하고 딱지를 붙임. 주제글은 더 이상 글을 사용할 수 없음.

그런데 내가 갑자기 미쳐서 "주제글이 종료되면 삭제되는 특수한 휘발성 주제글 기능을 만들어야지!"라고 생각함.
"휘발성주제글" 클래스를 만들 건데, 이 주제글은 "종료하기" 동작 외에는 "주제글" 클래스와 다를 게 없음.

그래서 "휘발성주제글"은 "주제글"을 상속한다고 선언하고, "휘발성주제글"의 "종료하기" 기능이 실행되면 해당 주제글(오브젝트)가 데이터베이스에서 완전히 삭제되도록 만듬.

"휘발성주제글"은 "주제글"을 상속한 상태에서 "종료하기" 기능만 덮어씌운 거임.(오버라이딩)
여기에 다형성까지 더하면, "휘발성주제글"은 "주제글"이다-라는 표현도 가능해짐.
"주제글"을 상속함으로써 "주제글"의 역할을 수행할 수 있으므로.
실제로 "휘발성주제글"의 객체를 만든 다음 "주제글"을 입력으로 받는 함수에 인자로 넣을 수 있음.

음료수(부모)를 가져오라고 하면 탄산음료(자식)를 가져오든 이온음료(자식)를 가져오든 문제는 없지만, 탄산음료를 가져오라고 했더니 그냥 아무 음료수나 가져가면 안 되는 것과 동일함.