[JAVA개념공부]has-a 관계, Generic타입
2021. 5. 27. 18:23ㆍ컴퓨터과학
728x90
반응형
●has-a관계
클래스간의 관계에 따라 has-a관계로, 혹은 is-a관계로 구현할 수 있다.
has-a 관계 | circle.class와 point.class의 관계. - 원은 점을 갖는다.(O) - 원은 점과 같다.(X) |
is-a관계 | dog.class와 animal.class의 관계. 개는 동물이다.(O) 개는 동물을 갖는다(X) |
- has-a관계의 구현 : A클래스를 갖는 B클래스라면, B클래스 내부에 B클래스를 포함시킨다.
class Point {
int x;
int y;
}
class Circle {
Point p; // has-a관계
int r;
public Circle(Point p, int r) {
super();
this.p = p;
this.r = r;
}
}
cf) is-a관계 개념
https://leesteady.tistory.com/33
●Generic 타입
필드의 데이터 타입을 객체 생성시 유동적으로 설정할 수 있는 타입. 클래스에서 사용할 타입을 클래스 외부에서 설정하게 된다.
- Generic 필드 선언시 데이터 타입 자리에 임의의 변수명을 설정한다.
- Generic필드가 선언된 클래스, 사용하는 클래스는 클래스명 뒤에 <데이터 타입, ...>을 붙여야 한다.
public class test<P, T> { // Generic타입 선언 위해 클래스에 <>를 붙여야함.
public static void main(String[] args) {
GenericExample<Integer, String> GE = new GenericExample<Integer, String>(29, "이지은");
System.out.println(GE);
}
}
class GenericExample<P, T> { // Generic타입 선언 위해 클래스에 <>를 붙여야함.
P age; // Generic 타입 필드 선언
T name; // Generic 타입 필드 선언
public GenericExample(P age, T name) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "GenericExample [age=" + age + ", name=" + name + "]";
}
}
728x90
반응형
'컴퓨터과학' 카테고리의 다른 글
[SQL기초개념]Statement vs preparedStatement (0) | 2021.06.09 |
---|---|
[JAVA개념공부]Collection Framework, Map메소드 사용법 (0) | 2021.05.30 |
[JAVA개념공부]Inner Class, 익명Inner Class, 람다식 (0) | 2021.05.26 |
[JAVA개념공부]인터페이스(Interface), 다형성, 인터페이스 통합 (0) | 2021.05.26 |
[JAVA개념공부]is-a관계 (상속관계의 객체화) (0) | 2021.05.25 |