Java
-
[Java] MethodOverridingJava 2024. 2. 20. 14:55
오버라이딩이란? 부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의하는 것. 오버라이딩의 조건 오버라이딩하고자 하는 메소드의 이름, 매개변수, 리턴 값이 모두 같아야 한다. 예시로 카메라 클래스와 카메라 클래스에 메서드를 오버라이딩할 카메라로 예시를 들겠습니다. 설명들은 주석으로 달겠습니다. package Chapter_07.Camera; public class Camera { // 부모 클래스 public String name; public Camera() { this("카메라"); } protected Camera(String name) { this.name = name; } public void takePicture(){ // 사진 촬영 System.out.println(this.name+ ..
-
[Java] Method OverLodingJava 2024. 2. 20. 14:35
OverLoading 이란? 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메소드를 정의할 수 있다. 조건 메소드의 이름이 같고, 매개변수의 개수나 타입이 달라야 한다. 주의할 점은 '리턴 값만' 다른 것은 오버로딩을 할 수 없다는 것이다. 블랙 박스 클래스에 record 기능을 오버로딩 해보겠습니다. package Chapter_07; public class BlackBox { void record(boolean showDateTime, boolean showSpeed, int min) { System.out.println("녹화를 시작합니다."); if(showDateTime){ System.out.prin..
-
[Java] ClassJava 2024. 2. 19. 16:30
java 는 객체지향 언어로서 유지보수에 용이하고 높은 재사용성을 보여준다 클래스란 하나의 설계도로 보면된다. 클래스의 메서드는 기능, 필드는 구성용품으로 예를 들 수 있다 우선 블랙박스라는 클래스를 만들어주어 작성해 보자 각 설명은 주석을 해놓았다. package Chapter_07; public class BlackBox { //기본 인스턴스변수 -> 객체 필요 String modelName; String resolution; int price; String color; int serialNumber; //시리얼 넘버 static int counter = 0; //시리얼 번호를 생성해주는 역할 (처음엔 0이었다가 ++ 연산을 통해서 값을 증가) // static 붙이면 클래스 변수이다. -> 객체 없..
-
[Java] priority Queue(우선 순위)Java 2024. 1. 29. 17:38
코딩 테스트를 공부하면서 우선순위를 두는 문제를 풀었던 경험이 있다. 이때 나는 List 를 사용하여 naturalOrder 을 통해 자연순서 정렬을 하여 풀었는데 다른사람 풀이에서 priority Queue 라는 것을 접하게 되었다 더욱 편리하고 간단해서 공부해 보았다. Priority Queue 특징 높은 우선순위의 요소를 먼저 꺼내서 처리하는 구조이다. 큐에 들어가는 원소는 비교가 가능한 기준이 있어야 한다. 내부 요소는 힙으로 구성되어 이진트리 구조이다. 내부구조가 힙으로 구성되어 있기에 시간 복잡도는 O(NLogN)이다. 우선순위를 중요시해야 하는 상황에서 주로 쓰인다. Priority Queue 선언 import java.util.PriorityQueue; import java.util.Col..