본문 바로가기
Programming

코드를 작성할 때 is와 has에 대해서

by 황금표정 2021. 4. 27.

코드를 보다보면 isValue, hasValue 같은 명칭을 볼 수 있는데


이 변수 작명법의 내용은 상속과 위임의 관계에서 사용할 수 있다.


"is는 A가 B이다." 라는 경우에 사용하고 (상속)

"has는 A가 B를 가진다."의 경우에 사용한다. (위임)


"나" 라는 클래스와 "핸드폰" 이라는 클래스가 있을 경우

"나는 핸드폰을 사용할 수 있으니깐 핸드폰의 모든 기능을 사용할 수 있다."라고 생각해버리는 상황의 경우


"핸드폰"클래스의 모든 기능을 가질 수 있도록 "나"클래스에게 상속하게 할 수 있다.

public class 나 : 핸드폰 { } 


이런 경우 "나는 핸드폰이다."가 되어 핸드폰이 내가 되어버리는 이상한 말이 되어버린다. (A is B)


이럴 경우가 상속이 아닌 위임으로써 처리해야하는 경우이다.


"나는 핸드폰을 가지고있다. 그러므로 핸드폰을 사용할 수 있다."라고 생각하는게 좋은 경우가 된다. (A has B)


public class 나 {     핸드폰 handphone = new 핸드폰(); } 


반응형