자바 Java
-
[프로그래머스] 연속된 수의 합자바 Java/자바로 알고리즘 2023. 4. 10. 21:15
class Solution { public int[] solution(int num, int total) { int[] answer = new int[num]; int mid = total / num; int midIdx = 0; int start = 0; // 중간 인덱스 구하기 // num 짝수 if(num%2 == 0){ midIdx = (num / 2) - 1; // num 홀수 } else { midIdx = num / 2; } // 시작수 구하기 for(int i=0; i
-
사원의 이름과 월급 입력 받아 연봉, 월급 인상분 출력자바 Java/자바로 알고리즘 2023. 1. 12. 11:43
사원 3명의 아이디는 각각 1~3 3명의 이름과 월급 정보는 입력 받아 배열에 저장하여 모든 내용 출력 월급의 인상률은 아이디 순으로 각각 10, 20, 30% public class Employee { private int id; private String name; private int salary; public Employee(int id, String name, int salary) { super(); this.id = id; this.name = name; this.salary = salary; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return ..
-
입력 받은 초가 몇 시간, 몇 분, 몇 초에 해당하는지 계산자바 Java/자바로 알고리즘 2023. 1. 9. 15:50
5000 5000초는 1시간 23분 20초입니다. 50000 50000초는 13시간 53분 20초입니다. int time = scanner.nextInt(); int min = (time / 60) % 60; int hour = (time/60)/60; int second = time % 60; System.out.printf("%d초는 %d시간 %d분 %d초입니다.", time, hour, min, second);
-
메소드 재정의 - @Override, super자바 Java/문법 - 객체 지향 2022. 1. 15. 00:05
1. @Override 부모 클래스의 상속 메소드를 수정하여 자식 클래스에서 재정의 할 때 부모 클래스와 동일한 시그니처(public void ..)를 가졌는지 검사 접근제한을 더 느슨하게 수정할 수 있지만 더 강하게는 하지 못한다 public -> private (x) defalut -> public (o) 정확한 메소드의 재정의를 위해 사용 public class Calculator { double calcCircleArea(double r) { System.out.println("Calculator 객체의 calcCircleArea 메소드 실행"); return 3.141592 * r * r; } } public class CalcComputer extends Calculator { @Overrid..
-
상속 - 부모 생성자 호출(super)자바 Java/문법 - 객체 지향 2022. 1. 14. 23:53
상속받는 자식객체 생성할 때는 부모 객체부터 생성 후 자식객체 생성 super(매개값, ... ) -> 매개값과 동일한 타입, 개수, 순서 맞는 부모생성자 호출. 부모 생성자가 없으면 오류가 발생하며 반드시 자식 생성자의 첫줄에 위치해야 한다 부모 클래스에 생성자가 없다면 필수로 작성해줘야 함 부모생성자 작성 public class People { public String name; public String ssn; public People(String name, String ssn) { this.name = name; this.ssn = ssn; } } 자식생성자에 super로 부모생성자 호출 public class PeopleStudent extends People { private int Stude..
-
접근 제한자와 Getter Setter자바 Java/문법 2022. 1. 14. 23:48
접근 제한자 : 클래스 및 클래스의 구성 멤버에 대한 접근을 제한 1. 다른 패키지에서 클래스를 사용하지 못하도록 - 클래스 제한 2. 클래스로부터 객체를 생성하지 못하도록 - 생성자 제한 3. 특정 필드와 메소드를 숨김 처리 - 필드와 메소드 제한 public 적용대상: 클래스, 필드, 생성자, 메소드 접근할 수 없는 클래스: 없음. 외부 클래스가 자유롭게 사용 protected 적용대상: 필드, 생성자, 메소드 접근할 수 없는 클래스: 자식클래스가 아닌 다른 패키지에 소속된 클래스 default 적용대상: 클래스, 필드, 생성자, 메소드 접근할 수 없는 클래스: 다른 패키지에 속한 클래스 private 적용대상: 필드, 생성자, 메소드 접근할 수 없는 클래스: 모든 외부 클래스 public > pro..
-
상속 - 기본자바 Java/문법 - 객체 지향 2022. 1. 7. 10:32
public class cellPhone { String model; String color; void powerOn() { System.out.println("전원을 켭니다"); } void powerOff() { System.out.println("전원을 끕니다"); } void sendMessage(String message) { System.out.println("Me: " + message); } void receiveMessage(String message) { System.out.println("Person: " + message); } } public class cellPhoneDmb extends cellPhone { int channel; cellPhoneDmb(String model,..
-
인스턴스 멤버와 정적 멤버자바 Java/문법 2022. 1. 7. 10:01
인스턴스 멤버: 객체 인스턴스마다 가지고 있는 필드와 메소드. 객체 소속된 멤버이므로 객체 없이 사용불가 class MyMath2 { long a, b; // 인스턴스변수 a, b만을 이용해서 작업하므로 매개변수가 필요없다. long add() { return a + b; } // a, b는 인스턴스변수 long subtract() { return a - b; } long multiply() { return a * b; } double divide() { return a / b; } // 인스턴스변수와 관계없이 매개변수만으로 작업이 가능하다. static long add(long a, long b) { return a + b; } // a, b는 지역변수 static long subtract(long a..