Java
-
람다식이랑 조금 친해져보자!Java 2022. 8. 26. 02:35
1. Intro 중복된 코드를 어떻게 줄일 수 있을까를 고민하다 돌고돌고돌고돌아가서 해결은 했지만, 코드의 복잡성은 해결하지 못한 슬픈 코드가 있었습니다. 피드백 코드를 분석하면서 왜 그렇게 돌고 돌아갔는지를 깨닫게 되었습니다. 람다식...! 람다식을 스트림 내에서 사용하는 것에만 익숙해져있었기 때문에 해결법을 떠올리지 못했습니다. 자바 8부터 도입된 람다식을 이제 메서드의 파라미터로 전달하는 연습을 해보도록 하겠습니다. 2. 구현해야 되는 기능 기준점이 되는 좌표가 있습니다. 기준점과 x축이 같은 좌표와 y축이 같은 좌표를 추출해야합니다. A: (10 ,10) standard.getX() == point.getX()) .filter(point -> standard.getY() == point.getY(..
-
추상클래스와 인터페이스를 적용해 코드 구현하기 (1)이론Java 2022. 8. 21. 22:13
🔗 https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html 위 링크를 참고하였으며, 이해가 안되는 부분은 스킵하였습니다. 예시 코드를 찾아보고 추가 작성할 예정입니다. 0. 목표 상속과 인터페이스를 적용해 코드를 구현하려고 한다. 인터페이스를 구현한 추상 클래스가 있고, 서브 클래스에서 이 추상 클래스를 상속하여 사용할 것이다. 코드를 구현하기에 앞서 어떤 기능을 추상 클래스로 만들고 인터페이스로 만들어야 하는지 두 개념부터 알아보자. 1. 추상메서드와 추상클래스 ? 추상클래스는 abstract 가 선언된 클래스이다. 추상클래스에는 추상메서드가 포함될 수도 있고 포함되지 않을 수도 있다. 추상클래스는 인스턴스화(new Class) 할 수 없지만..
-
compareTo() 메소드와 오름차순, 내림차순이 무슨 상관?Java 2022. 8. 14. 20:27
무지성으로 코딩하다 객체가 가진 속성을 기준으로 내림차순을 하려고 한다. Comparable 인터페이스의 compareTo(T o) 메소드를 구현하려다가 "아 현재 인스턴스에서 비교 인스턴스 속성을 빼는 거였나? ...그 반댄가?" 그간 구현에만 집중했다. 일단 해보고 결과가 반대로 나오면 반대로 연산해서 코드를 구현해놓고, 이따가 알아보고 자야지 하고 잊고 넘어갔다. 지금 구현하고 있는 코드의 예시를 통해 이해하고 넘어가자. 예시 코드와 출력문 자동차에 랜덤한 숫자가 부여되고 랜덤 값이 4이상일 경우 전진한다. 이를 구현하기 위해 정의해 놓은 Car 코드는 다음과 같다. (compareTo 메소드를 살펴보기 위해서 중간 코드들은 생략함) public class Car implements Comparab..