본문 바로가기

Development/Java5

[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.
[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.