JAVA 21

페이징 처리 @PageableDefault

페이징처리 흔히 게시판이나 상품 목록 또는 공지사항을 보면 글이 스크롤을 따라 쭉 내려오는 경우도 있지만, 그 글이 수천개 수만개가 되면 페이징 처리를 해주게 된다. 이를 Controller에서 Select할때 @PageableDefault를 사용하면 편리하게 페이징처리를 해줄 수 있다. @PageableDefault 이는 페이징 처리할때 사용하는 어노테이션으로 파라미터값을 요청하여 페이징에 필요한 정보를 얻어오는 역할을 한다. 말그대로 PageRequest와 같은 역할을 한다. 요청 파라미터는 아래와 같다. - page : 현재 페이지를 뜻하며 0부터 시작된다. - size : 한 페이지에 노출할 데이터 건수를 말한다. - sort : 어떻게 정렬할 것인지를 의미한다. 예시 DB에 두 건의 User정보..

JAVA 2023.10.07

JAVA Swing JPanel과 JLabel합치기 및 플레이어 생성

public class BubbleFrame extends JFrame{ private JLabel backgroundMap; private Player player; public BubbleFrame() { initObject(); initSetting(); setVisible(true); } private void initObject() { backgroundMap = new JLabel(new ImageIcon("image/backgroundMap.png")); //이미지를 가져옴 // JPanel과 JLabel을 합쳐준다(굳이 따로 쓸 필요가 없기 때문이다.) setContentPane(backgroundMap); player = new Player(); add(player); } private ..

JAVA 2023.06.13

JAVA Swing: JFrame(1) JFrame 실행 방법

JFrame: 윈도우 창이다. 탐색기 등 창을 띄웠을 때 전체 창을 JFrame이라고 한다. JPanel: 윈도우 창 끝부분을 제외한 안쪽부분을 말한다. JLabel: 그 안의 도화지 같은 느낌이라 생각하면 된다. 정리하자면 JFrame은 윈도우 창이며 이 내부에는 내부 패널을 가지고 있고 그안에 Label이 있다. JFrame사용법 클래스 생성 후 JFrame을 상속받아 사용하면 된다. public class BubbleFrame extends JFrame{ public BubbleFrame() { } public static void main(String[] args) { new BubbleFrame(); } } 상속받게 되면 JFrame을 사용할 수 있는데, 실행해보면 아무것도 나오지 않는다. 이유..

JAVA 2023.06.13

[JAVA] Arrays.sort() 배열을 순차로 정렬해주는 메소드

배열을 나열할 때 순차적으로 값을 줄 수 없는 경우가 생길 수 있습니다. 이를 간편하게 해줄 수 있는 메소드가 바로 sort()라는 메소드 입니다.. 그러면 예시들을 통해서 sort()메소드는 어떤것인지 한번 알아보도록 하겠습니다. sort()메소드는 오름차순, 내림차순, 부분정렬 세가지로 나눌 수 있습니다. 1.오름차순 오름차순의 경우 Arrays.sort()에 변수를 넣어주면 알아서 작은 수 부터 큰 수까지 정렬이 됩니다. a.기본타입(자료형) 위 배열은 우리가 값을 준 그대로 배열에 담아주지만, 아래의 경우 sort()를 사용하니 우리가 준 값을 오름차순으로 정렬하여 출력줍니다. 이는 String의 경우에도 가능한데, 한글의 경우 가나다 순, 영어의 경우 abc 순으로 정렬해줍니다. b.String..

JAVA 2022.07.01

[백준] 10818번 최소, 최대 문제 그리고 Array.sort 메소드

https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제내용은 N개의 정수가 주어졌을 때, 최솟값과 최댓값을 구하는 프로그램이다. 필자의 경우에는 이전에 주어진 정수를 메소드에 담아서 실행하는 함수로 최솟값과 최댓값을 구했었다. if 조건문을 통해 입력받은 num1 과 num2의 크기를 비교한 후, 그 결과값과 num3을 비교하여 최댓값, 최솟값을 구하는 원리이다. 하지만 이렇게 할 경우 현재 문제에는 N의 입력..

JAVA 2022.06.30

[백준] 2480번 주사위 세 개 문제

1. 문제 2480 주사위 세 개의 값에 따라 달라지는 조건문 문제이다. 조건은 다음과 같다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 접근은 다음과 같이 했다. 1. A = B = C 일 때, 2. A = B, A = C, B = C 인 경우가 있을 때, 3. A != B != C 일 때 2. 풀이 필자가 한 문제 풀이는 다음과 같다. 3. 다른 접근방식 다만 보면서 너무 많은 조건식을 쓰고 있다고 생각해서 해결하려 보니 2번 조건식에서 (2. A = B, A = C, B = C 인 경..

JAVA 2022.06.09

22/04/22 JAVA 14 최상위클래스(Object)

최상위 클래스란? Object 클래스는 모든 클래스의 최상위 클래스이다 모든 클래스는 최상위 클래스인 object를 사용할 수 있으며 이는 우리 눈에는 보이지 않지만 extends object가 생략되어 있다는 말이다. 당장 이클립스에서 ctrl + space 를 해보면 이를 알 수 있다. 위를 보면 분명 상속을 받은적이 없는데도 불구하고 이러한 메소드가 존재한다. 이것이 바로 Object가 최상위 클래스라는 증거이다. 그럼 지금부터 Object로 불러올 수 있는 것들을 하나하나 파해쳐보도록 하자 1. toString toString은 객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴해주는 메소드이다. 먼저 obj를 생성해서 출력해보자. 지금 두개를 출력했는데, 저 두 개는 같은 것을 출력한 것이다..

JAVA 2022.04.26

22/04/20 JAVA 13 인터페이스

인터페이스란? 인터페이스는 컴퓨팅 용어로 구글링 했을 때 "서로 다른 두 개의 시스템 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템이다." 라고 정의되어있다. 프로그래밍에서의 인터페이스도 비슷한 면을 가지고 있다. 인터페이스 라는 기본 틀이 중간에서 매개 역할을 해주면서 다른 클래스 사이를 연결해주는 역할을 한다고 볼 수 있다. 특히 자바에서는 클래스를 통한 다중상속을 지원하지 않기 때문에 더더욱 인터페이스가 중요한 역할을 하게된다. 인터페이스 선언 인터페이스 선언은 public inteface 인터페이스 이름{} 이런식으로 선언하거나 직접 인터페이스를 만드는 방법이 있다. 인터페이스와 추상클래스의 차이점 인터페이스 와 추상클..

JAVA 2022.04.26

22/04/16 JAVA 12 (Class 4 배열, 추상)

배열(Array) 배열이란? 배열은 하나의 변수에 여러값을 저장하는데 사용되는 데이터이다. 변수는 하나의 데이터를 저장하는 반면, 배열은 여러가지의 데이터를 저장하는 것이다. 배열의 쓰임 먼저 문자열 5가지를 생성해보자 이 5가지를 출력하는 방법은 system out 을 이용해 노가다해서 5개를 출력하는 방법이 있다. 하지만, 만약 출력해야하는 문자열이 1000개 10000개 그 이상이라면 힘들고 지저분한 코딩이 될것이다. 그래서 활용하는것이 바로 배열이다. 배열의 생성과 활용 배열은 데이터 타입 뒤에 [] 를 붙이고 []안에는 해당 배열에 값을 얼마만큼 저장할지를 정해주는 것이다. 위와같이 변수명[0] 에 정수를 넣어 바로 출력할수도 있고, strArray라는 변수에 5의 값을 정해주고 for문을 이용..

JAVA 2022.04.19

22/04/14 JAVA 11 (Class 3 상속, 오버라이딩, 다형성)

상속 상속이란? 말 그대로 부모에게 물려받아서 사용하는 것을 말하며 프로그래밍에서는 상속 관계를 맺는다고 표현한다. 쌍 방으로 성립이 되는 경우 상속을 할 수 있다. 예를 들면 동물과 인간의 관계에서는 동물-인간은 인간은 동물이고, 동물에 포함된 것은 인간이기 때문에 쌍방으로 성립하여 상속이 가능하다. 리모컨과 버튼의 경우 리모컨에는 버튼이 포함되지만, 버튼은 리모컨이 될 수 없기 때문에 상속관계가 아니다. 이러한 일방적인 관계는 나중에 인터페이스에서 다뤄볼 예정이다. 기본적으로 상속은 클래스명 뒤에 extends 와 상속할 클래스명을 쓰면서 시작된다. 먼저 Animal이란 부모클래스를 생성해서 Human 클래스와 Tiger 클래스를 이후에 생성해주는데, Human은 부모 클래스에 상속관계를 맺어보고 T..

JAVA 2022.04.14