본문 바로가기

Development12

[Java] 오버로딩과 오버라이딩(Overloading & Overriding) 오버로딩과 오버라이딩오버로딩(Overloading)은 한 클래스 내에서, 같은 이름의 메서드를 여러 개 정의하는 것 오버라이딩(Overriding)은 부모클래스로부터 상속 받은 메서드를 자식클래스에서 재정의하는 것    오버로딩(Overloading)메서드 이름이 같고, 매개변수의 개수나 타입(순서)이 다른 메서드를 여러개 정의하는 것메서드 오버로딩을 사용함으로써 메서드 이름을 절약할 수 있다.같은 기능을 하는 메서드를 하나의 이름으로 사용할 수 있다.오버로딩의 조건 메서드 이름이 같아야 한다.메서드 매개변수(파라미터)의 개수가 달라야 한다.매개변수의 개수가 같다면 타입(순서)이 달라야 한다.‘리턴(반환) 타입’ 만 다른 것은 오버로딩 X‘접근제어자’ 만 다른 것은 오버로딩 Xclass Overloadi.. 2024. 9. 10.
[Java] 자바 Queue에 x, y 값 두 개 삽입(Pair 클래스, Point 클래스) 자바로 bfs 문제를 풀 때, x좌표 y좌표 두 개의 값을 한 번에 하나의 Queue에 삽입해야 하는 경우가 있었다.Pair 클래스를 직접 생성해서 문제를 풀었는데, 같은 기능을 하는 자바의 Point 클래스 가 있다.    1. Pair 클래스를 직접 생성C++에 있는 pair 클래스를 직접 생성해서 사용할 수 있다.import java.util.*;public class Test { public static class Pair { int x; int y; public Pair(int x, int y) { this.x = x; this.y = y; } } public static vo.. 2024. 8. 23.
[Java] 빠른 입출력 BufferedReader & BufferedWriter BufferedReader, BufferedWriter는 Buffer(버퍼)를  사용하여 읽기와 쓰기를 하는 함수이다. Scanner, System.out.println() 대신에 사용한다. 아래와 같이 버퍼를 사용하면 키보드의 입력값을 버퍼에 한번에 모았다가 버퍼의 내용을 한번에 프로그램에 전달한다.  하드디스크의 속도가 느리고, 외부 장치(키보드, 모니터)와 데이터 입출력도 시간이 오래 걸린다.그렇기 때문에 입력이 있을 때마다 데이터를 이동시키는 것보다, 중간에 버퍼를 두어 모아두었다가 한번에 보내는 것이 더 효율적이고 빠르다.   ☑️ BufferedReader버퍼를 이용한 입력 함수Enter(줄바꿈)만 경계로 인식한다.리턴값이 String으로 고정되기 때문에 다른 타입으로 입력받으려면 형변환이 필.. 2024. 6. 19.
[SQL] SQL 쿼리문 작성 순서, 실행 순서 SQLD 시험을 준비할 때는 외우고 있었는데 SQL 문제를 풀어보려니까 자꾸 헷갈려서 정리해보려고 한다! SQL 쿼리문 작성 순서SELECT  -  FROM  -  WHERE  -  GROUP BY  -  HAVING  -  ORDER  BY   SQL쿼리문의 실행 순서FROM  -  ON  -  JOIN  -  WHERE  -  GROUP BY  -  HAVING  -  SELECT  -  DISTINCT  -  ORDER BY - LIMIT FROM : 조회 테이블 확인ON : 조인 조건 확인JOIN : 테이블 조인WHERE : 데이터 추출 조건 확인GROUP BY : 특정 칼럼으로 데이터 그룹화HAVING :그룹화 데이터 추출 조건 확인SELECT : 데이터 추출DISTINCT : 중복 제거ORDE.. 2024. 6. 14.
[Spring Boot | Error] No matching variant of org.springframework.boot :spring-boot-gradle-plugin:3.2.2 was found... Spring boot 3.2.2 버전으로 스프링 부트 프로젝트를 생성해서 실행해보니 처음에 이런 에러가 발생했다. 원래는 Java 11을 사용하고 있었는데 Spring boot 3.x 버전부터는 Java 17 버전 이상을 지원하기 때문에, Java 21 버전을 새로 설치한 후 실행했는데도 똑같은 에러가 발생했다.에러 코드를 보면 Java 17, Java11이 나와서 자바 버전의 문제인가 싶어서 자바 버전을 확인해보았다. 전체 에러 코드A problem occurred configuring root project 'hello-srping'.> Could not resolve all files for configuration ':classpath'. > Could not resolve org.spring.. 2024. 5. 17.
[HTTP]HTTP 상태 코드 HTTP 상태 코드란?: 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능1xx(Informational): 요청이 수신되어 처리 중2xx(Successful): 요청 정상 처리3xx(Redirection): 요청을 완료하려 추가 행동이 필요4xx(Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음5xx(Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함 1️⃣1xx(Informational)요청이 수신되어 처리 중거의 잘 사용하지 않는다.   2️⃣2xx(Successful) - 성공클라이언트의 요청을 성공적으로 처리200 OK201 Created202 Accepted204 No Content200 OK : 요청 성공클라이언트이 .. 2024. 5. 15.
[Java] JDK 버전 여러 개 전환하며 사용하기 기존에는 JDK 11 버전을 사용하고 있었는데, Spring 공부를 시작하다보니 새로운 자바 버전을 설치해야할 일이 생겼다.Springboot 3 부터는 JDK 17 버전 이상을 지원하기 때문이다. 그래서 여러개의 JDK 버전을 설치한 후, 간단한 명령어로 전환해서 사용할 수 있도록 해보았다. 먼저 기본적인 자바 환경변수 설정은 되어 있는 상태이고, 추가로 JDK 17 버전을 설치해서 사용해보려고 한다. 1. scripts 폴더 생성사용하고자 하는 여러 버전의 JDK를 설치한 후, JDK가 모여있는 폴더에 scripts 폴더를 생성한다. 2. bat 파일 생성메모장을 사용해 scripts 폴더 안에  JDK별로 .bat 파일을 생성한다.bat 파일의 내용은 아래와 같다. 여기서 {JDK 주소} 와 [ve.. 2024. 5. 13.
[Java] Math 클래스 Math 클래스란? Math 클래스는 수학에서 자주 사용하는 상수들과 함수들을 미리 구현해 놓은 클래스이다. java.lang 패키지에 포함된 클래스 Math 클래스의 모든 메서드는 static method 이므로, 객체를 생성하지 않고 바로 사용할 수 있다. random() - 랜덤 함수 0.0 이상 1.0 미만의 범위에서 임의의 double형 값을 하나 생성해서 반환하는 함수 System.out.println(Math.random()); //0.0 ~ 1.0 //0 ~ 99까지의 난수 생성 System.out.println((int)(Math.random() * 100)); // 0 ~ 99 //java.util 패키지에 포함된 Random 클래스의 nextInt() 메서드를 사용해서 난수를 생성할 .. 2024. 4. 17.
[IntelliJ] 프로젝트 Github에 연동하기 1. Github 계정 연동 File → Settings → Version Control → Github → Add Count... → 계정 추가 2. IntelliJ Github 연동 Github에서 Repository를 생성하여 연동하는 방식 Github에 Repository 확인 VCS → Create Git Repository 클릭 → 원하는 프로젝트 선택 프로젝트 우클릭 → Git → Add ($git add ) FontColor 의미 Red - Workspace Files(add 되지 않은 파일) Green - Staged Files(add 된 파일) Blue - Modified Files(수정된 파일) White - Commited Files(커밋된 파일) Gray - Deleted File.. 2024. 4. 9.
[Spring] 윈도우 cmd에서 Spring 프로젝트 빌드하고 실행하기 1. cmd 창에서 현재 스프링 프로젝트가 있는 폴더로 이동 2. dir을 입력해서 gradlew.bat 가 있는지 확인 2. gradlew 엔터 (gradlew.bat 실행) 3. gradlew build 엔터 4. cd build/libs 5. libs 폴더 안에 실행파일(hello-spring-0.0.1 -SANPSHOT.jar)이 있는지 확인 5. java -jar 파일명(hello-spring-0.0.1 -SANPSHOT.jar)(자바 실행) 6. 실행 성공 ❗ cmd창에서 실행할 경우, 같은 포트번호를사용하기 때문에 인텔리제이에서 서버를 끄고 실행해야 에러가 발생하지 않는다. ❗ 잘 안될 경우, gradlew clean build 를 사용해서 build 폴더를 완전히 삭제하고 다시 build .. 2024. 3. 26.