본문 바로가기
Today I Learned 2024. 3. 26.

(24.03.26) Java의 정석 학습(지네릭스)_2

 

날이 좋아져서 인지 공부하는 와중에도 같이 커피마실까 아니면 밥먹을까 하는 연락이 수두룩 와버렸지만..

코딩 공부를 해야해.. 라고 답하면서 다 쳐내긴 했다.

물론 금요일에는 잠깐 개인적인 선약때문에 나가야할 일이 생겼지만서도

이렇게 평일에는 본 캠프의 시간인 09:00 ~ 21:00 스터디 시간을 맞추는 연습을 하도록 노력을 해야할 것이라고 판단하여 약속도 미리미리 정리를 하고 있다.

 

 


Java의 정석 공부 간단 정리

  지네릭스 이 괄호 <> 때문에 2일을 계속 봤다. (오늘은 반나절을 내리 봤다..) 교제에 있는 예시를 드는 것도 이해가 안됬고, 매개변수에 클래스가 오기도하고 메서드가 오기도하고 처음에는 이해가 안되어서 다시 다른 곳에서 찾아보고 다시 교제로 돌아오기를 반복하고 Notion 에 정리를 했다..

겨우겨우 다 끝나고 마지막에..

  • 교제에는 지네릭스를 전부 담지 않았음
  • 지네릭스를 이해하는 것은 쉬운 것이 아님
  • 다른 요소를 배우면서 반복해서 알아가야함

이런 코멘트가 남겨져 있어서.. 어려운게 맞았구나 생각을 했다.. 

그래도 다른 사람이 짠 코드들이나 공부를 하닥 <> 지네릭스 표시 나와서 무슨 코등인지 이해를 못하거나,

<> 빼고 코드를 쓰다가 컴파일 에러(타입간의 불일치, 형변환 불가 등이었을 것으로 추정..)가 뜨는 일이 종종 발생해서

꼭 한번은 진지하게 짚고 넘어가야할 지네릭스였다..

더보기

지네릭스

와일드 카드

  • ? 를 사용해서 어떠한 타입이 와도 성립되게 하는 것
  • Comparator<? super T>

지네릭 메서드

지네릭 타입의 형변환

  • 대입된 타입간의 형변환 불가능

미확정 타입으로 형변환 = 확인되지 않은 타입으로의 형변환

지네릭 타입 제거 과정


내일부터는 지네릭스 적용된 코드를 하나 좀 다시 보고,

다시 루틴으로 돌아가서 알고리즘 연습을 하는 것으로..

 

괜히 Java 문법이 어려운게 아닌거 같다. 아직 이런 코드들의 맥을 짚으려면 상당히 시간이 걸릴 것으로 보인다.