제너릭(Generic)에 대해서...
2013-01-07
|
by seejune
2779
뇌자극 책에는 제너릭에 대한 구체적인 설명은 없네요....
그래서 아래와 같이 한 번 만들어 봤습니다....
class MyGeneric
{
T width, height;
MyGeneric(T width, T height)
{
this.width = width;
this.height = height;
}
public T getArea()
{
return = width * height; <= 연산자(*) 오류 발생
// return = width; <= 오류 없음.
}
T getWidth()
{
return width;
}
}
class GenericTest
{
public static void main(String args[])
{
MyGeneric g;
g = new MyGeneric(12, 34);
System.out.println("면적: " + g.getArea());
}
}
위와 같이 만들어 컴파일을 하면 다음과 같은 오류가 발생합니다.
C:\교육\자바교육>javac GenericTest.java
GenericTest.java:14: error: bad operand types for binary operator *
val = width * height;
^
first type: T
second type: T
where T is a type-variable:
T extends Object declared in class MyGeneric
1 error
위 오류에 대해 구글링등을 해 보았는데 return = width * height; 와 같이 쓰는 사례는 못 보았습니다.
제너릭에서는 연산 허용이 안되는지요? 아니면 제가 잘 못 코딩을 했는지요?
왜 아래와 같은 결과가 나오는 지 궁금합니다....
return = width * height; <= 연산자(*) 오류 발생
return = width; <= 오류 없음.
감사합니다..