목록클래스 (10)
개발 무지렁이

𐂂 '제네릭' 이란 결정되지 않은 타입을 파라미터로 처리하고, 객체를 생성할 시점에, 파라미터를 구체적인 타입으로 대체시키는 기능 𐁍 '제네릭 타입' 이란 결정되지 않은 타입을 파라미터로 가지는 클래스와 인터페이스를 말한다. (⚠️ 타입파라미터는 기본적으로 Object타입으로 간주된다.) public class Box { public T content; } Box box = new Box(); //사용할 때는 구체적인 타입으로 대체 𐁍 '제네릭 메서드' 란 타입파라미터를 가지고 있는 메서드를 말한다 public Box boxing(T t) { ... } 🤡 타입파라미터 제한 public Box boxing(T t) { ... } public Box boxing(T t) { ... } ⭐ 타입파라미터로 와..

라이브러리란? 활용할 수 있는 클래스와 인터페이스들을 모아놓은 집합을 말한다. 압축파일(~.jar, java archive) 형태로 존재한다. 바이트코드 파일(~.class)이 압축되어 있다. 라이브러리 생성 [File] -> [New] -> [Project] -> [Java Project] Project name 입력 Create module-info.java file 체크 해제 -> Finish 📂src -> pack1(package) -> A.java 생성 -> pack2(package) -> B.java 생성 package pack1 public class A { public void method() { System.out.println("A-method 실행"); } } // 각각 생성 pack..

탑 🪅 가장 나중에 들어오는 데이터를 먼저 검사하는 흐름을 보고 스택(Stack)을 떠올릴 수 있느냐 🪅 헷갈리기 쉬운 정보들을 class로 묶어 정리할 수 있느냐 🪅 두 개의 스택으로, 한 스택에서 뺀 데이터 중 조건에 맞는 데이터만, 나머지 스택에 push할 절차를 구현할 수 있느냐 🪅 데이터에 따라 불명확한 반복횟수를 세줄 또다른 변수를 만들 생각을 할 수 있느냐 🪅 조건을 만족했을 시, 다음 데이터에 영향을 주지 않도록 초기화했느냐 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer;..

오버로딩(Overloading) 하나의 클래스 내부에 이름이 같은 method가 여러개 있는 것 (단, parameter 타입이나 개수가 달라야한다, 이에 따라 호출되어지는 함수가 다르다) Why? 호출하기가 편하다, 사용자 편리성 💡 대표적인 오버로딩 System.out.println(); 인자의 개수가 다르거나 타입이 다르다, overloading - System.out.println(); - System.out.println('A'); - System.out.println(4); - System.out.println("안녕"); println은 인자가 0개나 1개 들어오도록(2개이상x) 오버로딩 되어 있다. 그래서, 우리가 println으로 출력할때 인자를 문자열 연결 연산자 + 를 이용해서 하나의..

가장 큰 수 🪅 클래스를 정렬하는 방법을 알고 있느냐 => implements Comparable, compareTo(), Collections.sort() 🪅 클래스를 정렬할 때 두번째 정렬기준을 세울 수 있느냐 💡 문제 접근 과정 한자리 수든, 두자리 수든, 세자리 수든 첫째 자리 수가 큰 것이 중요하다. 첫째자리 수가 같을 때 둘째 자리 수가 중요하다. 즉, 하나의 숫자에서 빼올 수 있는 정보가 많고 이를 클래스를 이용해 정리해야겠다는 생각을 했다. 클래스를 이 기준에서 정렬하기 위해 Comparable 인터페이스와 compareTo 메서드를 이용해야 했고, 두번째 정렬기준까지 구현해야했다. 이 상태에서 Collections.sort()를 하면 위의 기준에 따라 클래스가 정렬된다. 나는 입력이 두자..

기능개발 🪅 넣은 순서대로 빼는 것을 보고 큐를 생각할 수 있느냐 => List를 이용하기 전에 스택/큐를 생각해본다 🪅 클래스를 새로 만들어 복잡한 자료를 잘 정리할 수 있느냐 🪅 큐를 Integer[]로, Integer[]를 int[]로 변환할 수 있느냐 💡 문제 접근 과정 'progresses'의 원소와 'speeds'의 원소를 이용해서 배포하기까지의 남은 일수를 계산해야했다. 일단 이 원소들을 필드에 저장해두고 관련 메서드를 만들어 이를 이용하면 되겠다는 생각에 Work라는 클래스를 만들었다. 처음엔, 그렇게 만든 work 객체에서 calculateDays 메서드를 통해 얻은 restDays를 아무생각없이 List에 넣었다. 그리고 List를 순회하며, 현재값과 그 다..