📢 공지합니다
이 게시글은 메인 페이지에 항상 고정되어 표시됩니다.
제네릭 프로그래밍이란..??
변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌
여러자료형을 변환될 수 있도록 프로그래밍 하는 방식입니다.
오늘은 이것에 대한 예시문제를 풀고 해석하는 시간을 가져보겠습니다.
1. x,y 가 여러개의 자료형을 가질 수 있도록 T x, V y로 선언한다.
2. 그 후 Point 옆에 <T,V> 선언한다.
3. Point 클래스 인스턴스 두개의 점을 생성하기 위해 생성자 오버로딩 작업을 한다.
4. get 함수 set함수를 설정하여 외부로부터 나갈 준비를 한다.
1. static 메소드를 만들어 그 속에서 제네릭 메소드를 생성한다. 생성하는 방법은 위와 같다(솔직히 이부분은 그냥 공식인듯.. )
1-1. static 메소드(makeRectangle)를 만드는 이유는 객체를 생성해서 부르는것보다 클래스를 통해 보다 편히 부르기 쉽게 하기 위함이다.
2. 각각의 꼭짓점을 생성하기 위해 double left=((Number)p1.getX()).doubleValue(); 를 작성한다. 이때 굳이 (double)p1.getX를 안 쓰는 이유는 이것이 지역변수라서 클래스 세계관을 넘어가기 위해서는 Number 클래스를 불러와서 자료형을 바꾸는것이 맞다.
3. 꼭짓점을 설정하고 높이와 밑변길이를 구하여 return을 반환한다.
4. Point 객체인 p1, p2를 생성한다. 이때 타입이 참조자료형이므로 <Integer,Double>로 선언한다. (왜 대문자를 써야되는 노이해... 흠 그냥 규칙인가)
5. 클래스를 통해 불러와서 대입시키면 끝난다.
실행결과다!
느낀점: 제네릭 프로그래밍이 많이 안쓴다고 들었다. 하지만 이런 기본적인것도 알아야되는 것은 맞다. 하 너무 어려웠다.
아직도 잘 이해가 가지는 않는다. 내가 직접 이것을 갖고 프로그래밍을 할 실력은 안된다. 열심히 해야겠다. 정말..
너무어려웡
#8화[JAVA] 은행계좌 관리 프로그램 (0) | 2022.10.12 |
---|---|
#7화 [JAVA] 인터페이스와 상속을 이용하여 역사연표를 만들어라! (0) | 2022.10.03 |
#6화 [JAVA] 추상메서드를 이용한 게임 구현 (2) | 2022.09.23 |
#5화 [JAVA] 고객 관리 프로그램 (2) | 2022.09.17 |
#4화 [JAVA] 깊은배열복사 이해하기 (0) | 2022.09.13 |