제네릭 (Generic) - 2

이진석·2022년 8월 17일
1
post-thumbnail

20220817

한 번에 끝내는 Java/Spring 웹 개발 마스터

  • Generic

1. Point 클래스

package ch09;

public class Point<T, V> { 
// 2개의 점이 어떤 타입이든 replace가 가능하다.

	T x;
	V y;
	
	Point(T x, V y) {
		this.x = x;
		this.y = y;
	}
	
	public T getX() {
		return x;
	}
	
	public V getY() {
		return y;
	}
}

2.GenericMethod 클래스

package ch09;

public class GenericMethod {

	public static <T, V> double makeRectangle(Point <T,V> p1, Point <T,V> p2) {
	
		double left = ((Number)p1.getX()).doubleValue();
		double right =((Number)p2.getX()).doubleValue();
		double top = ((Number)p1.getY()).doubleValue();
		double bottom = ((Number)p2.getY()).doubleValue();
	
		double width = right - left;
		double height = bottom - top;
	
		return width * height;
	}
	
	public static void main(String[] args) {
		
		Point<Integer, Double> p1 = new Point (0, 0.0);
		Point<Integer, Double> p2 = new Point (10, 10.0);
		
		double size = GenericMethod.<Integer, Double>makeRectangle(p1,p2); 
		System.out.print(size);
	}
}

Generic Method 2번째

  • 제네릭 메소드를 활용해보는 수업이었다.
  • x와 y의 좌표를 Point클래스를 통해서 입력하고, 그를 이용해서 사각형의 넓이를 구하는 문제였다.
  • Integer형이 사용될지 Double형이 사용될지 상관없게 하기 위해서 Point클래스를 Generic Method를 이용해서 만들었다.
profile
혼자서 코딩 공부하는 전공생 초보 백엔드 개발자 / https://github.com/leejinseok0614

0개의 댓글