GiantStepDEV
자바(Java) - 객체 지향 프로그래밍 (2) 메소드 (예제)
🗄️ Backend/Java 2023. 1. 10. 20:05

클래스 내에 생성자가 없으면 기본 생성자가 호출됨 Sample sample = new Sample(); package 메소드연습0110; import java.util.Scanner; public class ClassMethod { public static void main(String[] args) { Sample sample = new Sample(); Scanner sc = new Scanner(System.in); System.out.print("정수값 입력 : "); int n1 = sc.nextInt(); System.out.print("정수값 입력 : "); int n2 = sc.nextInt(); int rst = sample.sum(n1, n2); // sum()은 매개변수와 반환값이 있..

자바(Java) - 객체 지향 프로그래밍 (2) 메소드 (이론)
🗄️ Backend/Java 2023. 1. 10. 19:35

메소드(method) 자바에서 클래스는 멤버로 속성을 표현하는 필드와 기능을 표현하는 메소드를 가진다. 메소드의 사용 목적 중복되는 코드의 반복적인 프로그래밍 방지 모듈화로 인해 코드의 가독성이 좋아짐 프로그램의 문제점 발견이나 기능을 추가/변경이 쉬워짐 (중요) 하나의 메소드가 하나의 기능만을 수행하도록 작성하는 게 좋음. (1메소드 1기능) 메소드의 정의 접근제한자 반환타입 메소드이름(매개변수목록) { 구현부 return } 접근제한자 : 해당 메소드에 접근 할 수 있는 범위 명시(public/protected/private/default) 반환타입 : 메소드가 작업을 마치고 반환하는 데이터 타입 명시(void/int/String/char 등등) 메소드 이름 : 메소드를 호출하기 위한 이름 매개변수목..

자바(Java) - 객체 지향 프로그래밍 (1) 클래스 (예제)
🗄️ Backend/Java 2023. 1. 10. 19:19

package 클래스기본0110; // 클래스이름 참조변수 = new 클래스이름(); public class BasicClass { public static void main(String[] args) { Car gv80 = new Car("GV80","Black","2023.01",240); Car venue = new Car("VENUE","White","2019.05",200); Car kona = new Car("CONA","Black","2021.05",200); gv80.setName("GV80 Sports"); gv80.name = "GV80 깡통"; // 오류! private 선언했기 때문에, 메소드 제외하고 값 변경 불가 gv80.viewCar(); venue.viewCar(); kona..

자바(Java) - 객체 지향 프로그래밍 (1) 클래스 (이론)
🗄️ Backend/Java 2023. 1. 10. 19:07

객체 지향 프로그래밍 객체 지향 프로그래밍에서는 모든 데이터를 객체(object)로 취급 이러한 객체가 프로그래밍의 중심이 된다. 객체(object)란, 실생활에서 우리가 인식할 수 있는 사물로 설명 가능 이러한 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍이 바로 객체 지향 프로그래밍 객체를 만들어 내기 위한 설계도와 같은 개념을 클래스(class)라고 함. 클래스(Class) 클래스란 객체를 정의하는 틀 또는 설계도와 같은 의미이다. 자바에서는 이러한 설계도인 클래스를 가지고, 여러 객체를 생성하여 사용함. 클래스는 객체의 상태를 나타내는 필드(field)와 객체의 행동을 나타내는 메소드(method)로 구성 * 필드(field)란 클래스에 포함된 변수(variabl..

자바(Java) 문자열 예제) 시간 입력
🗄️ Backend/Java 2023. 1. 10. 18:21

입력 23:5:3 * 24시간제로 시간을 콜론(:) 기준으로 입력 출력 오후 11시 05분 03초 package 시간입력0110; import java.util.Scanner; public class TimeSplit { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("시간 입력 : "); String time = sc.next(); String[] time1 = time.split(":"); int hour = Integer.parseInt(time1[0]); int minute = Integer.parseInt(time1[1]); int second = Integer.parseI..

자바(Java) [백준] 2884번 : 알람 시계
🔄 Algorithm/BaekJoon 2023. 1. 10. 18:18

문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로..

자바(Java) [백준] 2902번 : KMP는 왜 KMP일까?
🔄 Algorithm/BaekJoon 2023. 1. 10. 18:15

문제 KMP 알고리즘이 KMP인 이유는 이를 만든 사람의 성이 Knuth, Morris, Prett이기 때문이다. 이렇게 알고리즘에는 발견한 사람의 성을 따서 이름을 붙이는 경우가 많다. 또 다른 예로, 유명한 비대칭 암호화 알고리즘 RSA는 이를 만든 사람의 이름이 Rivest, Shamir, Adleman이다. 사람들은 이렇게 사람 성이 들어간 알고리즘을 두 가지 형태로 부른다. 첫 번째는 성을 모두 쓰고, 이를 하이픈(-)으로 이어 붙인 것이다. 예를 들면, Knuth-Morris-Pratt이다. 이것을 긴 형태라고 부른다. 두 번째로 짧은 형태는 만든 사람의 성의 첫 글자만 따서 부르는 것이다. 예를 들면, KMP이다. 동혁이는 매일매일 자신이 한 일을 모두 메모장에 적어놓는다. 잠을 자기 전에,..

자바(Java) 문자열 예제) 문자열 연결
🗄️ Backend/Java 2023. 1. 10. 18:10

문제 첫번째 문자열에서 입력 받은 정수 갯수 만큼의 문자를 뒤에서 부터 잘라, 두번째 문자열 앞에 추가하기 입력 첫번째 문자열 입력 : seoul 두번째 문자열 입력 : korea 정수값 입력 : 2 출력 seoul korea ulkorea package 문자열연결0110; import java.util.Scanner; public class StringAppend { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("첫번째 문자열 입력 : "); String str1 = sc.next(); System.out.print("두번째 문자열 입력 : "); String str2 = sc...

자바(Java) [백준] 2480번 : 주사위 세개
🔄 Algorithm/BaekJoon 2023. 1. 9. 21:01

문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게..

자바(Java) [백준] 2525번 : 오븐 시계
🔄 Algorithm/BaekJoon 2023. 1. 9. 20:12

문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오. 입력 첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진..