JAVA_Is-A/Has-A

뚱이아저씨·2023년 3월 15일
0

자바

목록 보기
12/15
post-thumbnail

Is-A/Has-A 관계

상속은 Is-A관계에서 사용하는 것이 가장 효율적이다.
Is-A 관계는 일반적인 개념과 구체적인 개념의 관계이다.예를 들어

  • 사람은 동물이다.
  • 소는 동물이다.
  • 새는 동물이다
    위와 같은 관계이다.
    즉, 일반 클래스를 구체화하는 상황에서 상속을 사용한다.

Is-A관계

출력 예시

public class Human {
	String name;
    int age;
    int sex;
}
//Student 클래스가 Human클래스를 상속 받고 있다.
public class Student extends Human{
	int number;
    int major;
}

위 코드에서 "학생은 사람이다"
이러한 관계를 위처럼 표현했을 때 Is-A관계라고 한다.

Has-A관계

출력 예시

public class Gun{
	String name;
    int shot;
}
//필드명이 Gun타입의 gun으로 되어 있는 것을 Has-A관계라 한다.
public class police{
	Gun gun;
}

위와 같이 "경찰은 총을 가진다"의 구조로 경찰 클래스안에
권총 클래스의 객체를 멤버로 가지고 있는 경우를 Has-A관계라 한다.

profile
뚱이아빠의 개발자도전기

0개의 댓글