본문 바로가기
728x90
반응형

java102

[JAVA] 상속과 메소드 오버라이딩(overriding) 생성자 내의 오버로딩과는 다르다. 2022.10.07 - [자바/개념정리] - [JAVA] 생성자 - 묵시적 생성자, 명시적 생성자 [JAVA] 생성자 - 묵시적 생성자, 명시적 생성자 생성자란 생성자는 객체가 만들어 질 때 자동 실행이 되는 것으로, 객체를 생성 할 시 초기화를 담당하는 기능이다. 생성자의 이름이 클래스의 이름과 같아야한다. 묵시적 생성자 묵시적 생성자 jjh93.com 메소드 오버라이딩(overriding) 상속 관계에 있는 클래스들 간에 같은 이름의 메소드를 정의하는 경우이를 오버라이딩(overriding)이라고 한다. 오버라이딩은 상위 클래스의 메소드를 하위 클래스의 메소드로 교체하는 것이다. 상위 클래스의 메소드와 하위 클래스의 메소드가 메소드 이름은 물론 매개변수의 타입과 개수.. 2022. 10. 12.
[JAVA] 상속과 생성자 클래스의 상속에서 생성자는 상속되지 않는다. 다만, 다음과 같은 특성을 가진다 하위 클래스에 생성자가 없거나 묵시적 생성자가 있는 경우, 하위 클래스로부터 객체가 생성될 때 상위 클래스의 묵시적 생성자가 먼저 수행. 하위 클래스에 명시적(매개변수가 있는) 생성자만 있는 경우, 하위 클래스로부터 객체가 생성될 때 상위 클래스의 묵시적 생성자가 먼저 수행. 하위 클래스에 묵시적, 명시적 생성자가 모두 있거나 명시적 생성자만 있는 경우, 상위 클래스에는 생성자가 없거나 반드시 묵시적 생성자가 있어야 한다. 상위 클래스에 명시적 생성자만 있는 경우 오류 발생. 이런 클래스가 존재한다고 했을 때 class DB1{ public double d1; public DB1() { System.out.println("클래.. 2022. 10. 12.
[JAVA] 상속 extends extends ectends는 상속의 대표적인 형태이다. 상위 클래스의 속성과 기능을 하위 클래스에 상속시키고 하위 클래스에는 새로운 기능과 속성을 추가한다. ectends 통해 검색, 확장, 변경이 쉬워진다는 장점이 있다. 형식은 다음과 같다. class 클래스명 extends 상위클래스명{ } Ex01. 코드 class C1{ private static int x = 100; public static int y = x; static int z = x; public static int cc() { return x; } } class C2 extends C1{ public static String x; static int y; } public class InheritanceTest3 { public st.. 2022. 10. 11.
[JAVA] 전화번호북 [ Phone ] Class 코드 public class Phone { private String name; private String tel; private String add; public Phone(String name, String tel, String add) { this.name=name; this.tel=tel; this.add=add; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTel() { return tel; } public String getAdd() { return add; } public void setTel(String.. 2022. 10. 11.
[JAVA] 일정관리 프로그램 코드 import java.util.Scanner; class Day{ private String work; //하루의 할 일을 나타내는 문자열 public String getWork() { return work; } public void setWork(String work) { this.work = work; } public void show() { if(work == null) System.out.println("할 일이 없습니다."); else System.out.println(work + "계획이 있습니다."); } } public class MonthSchedule { private Day[] days; // Day 객체 배열 private Scanner sc; private int nDays;.. 2022. 10. 11.
[백준] 10871번 : X보다 작은 수 - JAVA[자바] 문제 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. 출력 X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다. 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt().. 2022. 10. 11.
[JAVA] 단어사전 코드 import java.util.Scanner; class Dictionary { private static String kor[] = {"사랑", "아기", "돈", "미래" , "희망"}; private static String eng[] = {"Love", "Baby", "Money", "Future", "Hope"}; public String kor2Eng(String word) { for(int i=0; i 2022. 10. 11.
[JAVA] 계산기 코드 import java.util.Scanner; class Add{ public int calculate(int a, int b) { return a+b; } } class Sub{ public int calculate(int a, int b) { return a-b; } } class Mul{ public int calculate(int a, int b) { return a*b; } } class Div{ public int calculate(int a, int b) { return a/b; } } public class Calc { public static void main(String[] args) { System.out.println("계산기 프로그램"); System.out.println(".. 2022. 10. 11.
[백준] 2438번, 11022번 - JAVA[자바] 2438번 : 별 찍기 - 1 문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner stdin = new Scanner(System.in); int num = stdin.nextInt(); for(int i=0; i 2022. 10. 11.
[백준] 11021번, 11022번 - JAVA[자바] 11021번. A+B - 7 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); int add[] = new int[t]; for(i.. 2022. 10. 10.
[백준] 2739번, 10950번, 8393번, 25304번 - JAVA[자바] 2739번 : 구구단 문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력 출력형식과 같게 N*1부터 N*9까지 출력한다. 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); for(int i=1; i 2022. 10. 9.
[백준] 2480번 : 주사위 세개 - JAVA[자바] 문제 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원을 상금으로 받게.. 2022. 10. 8.
[백준] 2525번 : 오븐 시계 - JAVA[자바] 문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오. 입력 첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진.. 2022. 10. 8.
[백준] 2884번 : 알람 시계 - JAVA[자바] 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로.. 2022. 10. 7.
[백준] 14681번 : 사분면 고르기 - JAVA[자바] 문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다. 입력 첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0) 출력 점 (x, y)의 사분면 번호(1, 2,.. 2022. 10. 7.
[JAVA] 접근제어자(Access Modifier) 메소드가 헷갈리는 경우 2022.10.04 - [자바/개념정리] - [JAVA] 클래스와 메소드 [JAVA] 클래스와 메소드 자바는 객체 지향 프로그래밍(OOP, Object-Oriented Programming)이다. 자바는 모든 데이터를 객체(object)로 취급한다. 객체(object)는 사물과 같은 것으로 상태(state)와 행동(behavior)을 포함한다. 자바에서.. jjh-blog.tistory.com 메인 메소드의 형태는 다음과 같다. public static void main(String[] args){ //메소드내용 } 접근제어자, access modifier 리턴 타입, return type 메소드명 (매개변수, parameter) 예외목록, exception list { //메소드.. 2022. 10. 7.
[JAVA] 생성자 - 예약어 this 생성자의 기본이 아직 이해가 가지 않는다면 2022.10.07 - [자바/개념정리] - [JAVA] 생성자 - 묵시적 생성자, 명시적 생성자 [JAVA] 생성자 생성자란 생성자는 객체가 만들어 질 때 자동 실행이 되는 것으로, 생성자의 이름이 클래스의 이름과 같아야한다. 묵시적 생성자 코드 package ex02; class Cons1{ public int num; public Cons1(){ //묵시적 생성 jjh-blog.tistory.com this 자바에서 this는 '객체, 자기 자신'이라는 의미이다. 1. class의 속성과 생성자/메소드의 매개변수 이름이 같은 경우 코드 class Box{ int width; int height; int depth; public Box(int width, i.. 2022. 10. 7.
[JAVA] 생성자 - 묵시적 생성자, 명시적 생성자 생성자란 생성자는 객체가 만들어 질 때 자동 실행이 되는 것으로, 객체를 생성 할 시 초기화를 담당하는 기능이다. 생성자의 이름이 클래스의 이름과 같아야한다. 묵시적 생성자 묵시적 생성자는 매개변수가 없는 생성자로, 생성자가 지정되지 않는 경우 자동생성된다. 코드 package ex02; class Cons1{ public int num; public Cons1(){ //묵시적 생성자 System.out.println("안녕하세요."); } public void aa(){ //메소드 System.out.println("반갑습니다."); } } public class ConsTest1 { public static void main(String[] args) { Cons1 con1 = new Cons1();.. 2022. 10. 7.
728x90
반응형