📌 고정 게시글

📢 공지합니다

이 게시글은 메인 페이지에 항상 고정되어 표시됩니다.

최코딩의 개발

#9화[JAVA] 제네릭 프로그래밍 본문

JAVA/JAVA 프로젝트

#9화[JAVA] 제네릭 프로그래밍

seung_ho_choi.s 2022. 11. 8. 18:23
728x90

제네릭 프로그래밍이란..?? 

변수의 선언이나 메서드의 매개변수를 하나의 참조 자료형이 아닌

여러자료형을 변환될 수 있도록 프로그래밍 하는 방식입니다. 

 

오늘은 이것에 대한 예시문제를 풀고 해석하는 시간을 가져보겠습니다. 

 

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. 클래스를 통해 불러와서 대입시키면 끝난다. 

 

실행결과다! 

 

느낀점: 제네릭 프로그래밍이 많이 안쓴다고 들었다. 하지만 이런 기본적인것도 알아야되는 것은 맞다. 하 너무 어려웠다. 

아직도 잘 이해가 가지는 않는다. 내가 직접 이것을 갖고 프로그래밍을 할 실력은 안된다. 열심히 해야겠다. 정말.. 

너무어려웡 

728x90