본문 바로가기
플레이데이터 sw 캠프 3기/기억더듬더듬 하루 회고록

[12.21 목] 굿바이..Comparable

by 눕는게최고야 2023. 12. 22.

지금 시간이 11시 22분입니다.

 

저는 이번 교육을 받으면서 꼭 지켜야 하는 약속이 하나 있는데 바로 12시에 잠에 드는 것입니다. 마음만은 신데렐라

 

그래서 오늘은 빠르게 복습을 해보겠습니다.

 

오늘 한 것

 

- 내부 클래스

 inner클래스로 내가 코테 할때 대부분 선언하는 클래스 타입 클래스 안에 클래스

보통 private 접근 제어자까지 붙여서 하나의 클래스에서만 접근이 가능하도록 함.

 

- 자바의 정렬 인터페이스인 Comparator과 Comparable

 Comparator는 보통 익명 클래스를 만들어서 사용. // Comparable은 인터페이스를 extands 해서 사용.

 Comparator는 compare(o1,o2) 메서드 사용   // Comparable은 compareTo(o1) 메서드 사용

 기본 오름차순 정렬 (o1 - o2)  반대는 내림차순 

 사용자의 기준에 따른 정렬도 가능! (String의 length라던지, 객체의 필드 값이라던지)

 

 보통 Comparable를 많이 사용해왔는데..Comparable로 객체를 정렬하는 것은 큰 문제가 없지만 익명객체 생성이 안된다.   범용성이 Comparator보다 떨어짐. 

 Comparable아 그동안 고생했고, 앞으로는 쉬도록해

 

- 람다함수

 람다함수를 통해 익명 객체를 비교적 간단한 형식으로 생성이 가능 (물론 Overrride를 통해서 구현도 가능)

 익명 객체를 생성할 때 람다함수에는 Override 하는 메서드의 파라미터 인자를 넣어줌 

 Stream에서 람다함수는 값을 하나씩 받는 인자.. 느낌 낼 자세하게 다시 배움

 

- 함수형 프로그래밍 

 내일 제대로 다시 배우겠지만, 일단 함수형 프로그래밍에 대해 말해보자면.. 현대적인 프로그램에서는 어떤 데이터 그 자체를 지지고 볶는 것이 아니라 원본 데이터는 내버려 두고 데이터에 대한 정렬, 형변환을 수행함

 

마무리

 

저는 자바가 첫 언어라서 다행이라 생각합니다. 자바를 배우면서 어떠한 불합리함도 느끼지 못하기 때문이죠. 마치 닭가슴살만 먹는 아이와 닭다리 살의 맛을 알고 닭가슴살만 먹게 되는 아이보다 덜 힘들지 않을까요.

물론 저도 평생 닭가슴살만 먹고 싶지은 않습니다.  

 

아 내일은 제가 약속이 있어서 블로그 못씁니다.(당당) 

 

주말에는.. 하체운동 복귀전이 있어서 후.. 정말이지 바쁘네요. 그래도 이번에는 주말이 3일이니까 뭐라도 해보겠습니다!