본문 바로가기

Java11

자바 [JAVA] - Interface와 Class 이번 포스트에서는 Interface와 Class를 비교하여 간략히 정리한다. 앞선 포스트에서 Interface는 객체의 특정 행동의 특징을 정의하는 간단한 문법이라고 정리하였다. Class와 비교하자면 Interface는 메소드의 껍데기만 남겨둔 Class라고 볼 수 있다. Interface와 Class 예시 예를 들자면, 지금 우리가 알고 있는 일반적인 자동차는 바퀴가 4개 있고, 핸들과 기어가 있으며 어떤 에너지를 활용해 움직일 수 있는 물체라는 개념이 존재한다. 이러한 추상적인 개념을 Interface라고 볼 수 있다. public interface Car { void setWheel(); void setHandle(); void setGear(); int energyType(); //...// }.. 2023. 3. 23.
자바 - 2차원 배열 정렬 (오름차순, 내림차순, 다중 조건) 자바의 2차원 배열을 Arrays.sort() 를 통해 곧바로 정렬하려고 하면 java.lang.ClassCastException: I cannot be cast to java.lang.Comparable 오류가 발생한다. 오류 문구와 같이 비교 기준이 없어 캐스팅에 실패하기 때문이다. 예시와 같이 Comparable, Comparator 인터페이스를 구현하여 정렬 기준을 추가해줘야 한다. 1. 오름차순, 내림차순 정렬 int[][] arr = new int[][]{{1, -1}, {2, 2}, {3, 3}, {1, 2}, {0, 4}} Arrays.sort(arr, new Comparator() { @Override public int compare(int[] o1, int[] o2) { return .. 2023. 3. 15.
자바 - 날짜와 시간 import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.Period; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; public class Main { public static void main(String[] args) { // 현재 시간 System.out.println("now usages"); LocalDate date = LocalDate.now(); LocalTime time = LocalTime.now(); LocalDateTime dateTIme = LocalDat.. 2023. 2. 20.
자바 - 객체지향퀴즈 요구사항 1. 사람은 자식, 부모님, 조부모님이 있다. 2. 모든 사람은 이름, 나이, 현재 위치 정보(x, y 좌표)가 있다. 3. 모든 사람은 걸을 수 있다. 특정 위치(x, y 좌표)로 이동한다. 4. 자식과 부모님은 달랄 수 있다. 특정 위치(x, y 좌표)로 이동한다. 5. 조부모님의 기본속도는 1이다. 부모님의 기본속도는 3, 자식의 기본속도는 5이다. 6. 달릴 때의 속도는 기본속도 대비 +2 만큼 빠르다. 7.수영할 때의 속도는 기본속도 대비 +1만큼 빠르다. 8. 자식만 수영을 할 수 있다. 특정 위치(x, y 좌표)로 이동한다. main 함수 동작 조건 1. 모든 종류의 사람 인스턴스는 각각 1개씩 생성한다. 2. 모든 사람의 처음 위치는 x=0, y=0 이다. 3. 모든 사람의 이름,.. 2023. 2. 20.