반응형

2024/06 26

Comparable VS Comparator 의 이해

요새 정렬에 관련된 문제를 접해보고 있고, 제가 아직은 많이 써보지 못한 인터페이스에 대해 오늘은 알려드릴려고 합니다. 그것은 바로 Comparable과 Comparator입니다. Comparable과 Comparator는 둘 다 Java에서 객체를 정렬하는 데 사용되는 인터페이스입니다. 이 두 인터페이스는 비슷한 목적을 가지고 있지만, 사용 방법과 용도가 다릅니다. 각각의 인터페이스에 대해 자세히 설명하고, 사용 방법 및 차이점을 비교해 보겠습니다. Comparable 인터페이스Comparable 인터페이스는 객체 자신이 다른 객체와 비교할 수 있도록 함. 주로 객체의 기본 정렬 기준을 정의할 때 사용. 사용 방법Comparable 인터페이스를 구현할 클래스에 implements Comparable를 ..

자료구조 2024.06.30

[자바]Programmers - 2024 KAKAO BLIND RECRUITMENT 가장 많이 받은 선물

이번에 풀게 된 문제는 "프로그래머스"라는 사이트에서 2024 KAKAO BLIND RECRUITMENT 가장 많이 받은 선물 문제입니다.Lv. 2에 정답률은 24%로써 접근은 쉬웠으나 막상 짜보니 조금은 헤맸던 문제입니다.그러면 제가 풀었던 문제에 대해 설명부터 하며 글 시작해보겠습니다. 문제 설명선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다.두 사람이 선물을 주고받은 기록이 있다면, 이번 달까지 두 사람 사이에 더 많은 선물을 준 사람이 다음 달에 선물을 하나 받습니다.예를 들어 A가 B에게 선물을 5번 줬고, B가 A에게 선물을 3번 줬다면..

알고리즘 2024.06.30

@Override가 있고 없고의 차이

상속에 대해서 공부를 하던 와중에 @Override 애노테이션을 사용하는 경우와 사용하지 않았을 경우의 차이점에 대해서 알려드리려고 합니다.@Override 애노테이션을 사용하는 경우와 사용하지 않는 경우의 접근 방식에 대해 이해하기 위해서는 객체 지향 프로그래밍의 기본 개념과 Java의 동작 방식을 이해하는 것이 중요합니다. 객체와 클래스 접근의 차이클래스 접근: 정적(static) 메서드나 필드에 접근할 때 사용. 정적 메서드나 필드는 클래스 레벨에서 존재하며 객체 인스턴스와는 무관.객체 접근: 인스턴스 메서드나 필드에 접근할 때 사용. 객체 인스턴스는 클래스의 특정 상태를 갖는 복사본이며, 인스턴스 메서드는 객체의 상태를 조작하거나 반환할 수 있음.@Override와 객체 접근@Override 애노..

Java Study 2024.06.30

상속(Inheritance)이란?

상속 상속이란?상속은 다른 클래스 간의 관계를 설정하고 계층적 순서(is-a관계)로 정보를 관리하며 코드를 재상요하는 데 도움됨.새로운 클래스를 만들 때, 원하는 코드 중 일부가 포함된 클래스가 이미 있는 경우, 기존 클래스에서 새 클래스를 파생(상속) 시킬 수 이있음.기존 클래스의 멤버 변수와 메서드를 재사용할 수 있음.상속의 필요성한 클래스가 다른 클래스의 특징(멤버 메서드와 변수)을 가져오도록 하는 자바 객체지향 프로그래밍의 필수적인 부분, 클래스 간의 관계를 더 잘 이해할 수 있음.프로그램 구조를 더욱 조직화할 수 있기 때문에 코드의 가독성과 해석 가능성이 향상됨.응용 프로그램의 유지 및 관리에 유용함.클래스 상속부모 클래스의 필드와 메소드를 자식 클래스에게 물려줄 수 있음.부모 클래스 = 슈퍼 ..

Java Study 2024.06.28

참조 타입이란?

객체(Object)란?객체는 데이터와 메서드로 구성된 덩어리객체 = 데이터(필드) + 메서드참조 타입객체의 번지를 참조하는 타입.배열, 열거, 클래스, 인터페이스 타입.기본 타입으로 선언된 변수는 값 자체를 저장하지만, 참조 타입으로 선언된 변수는 객체가 생성된 메모리 번지를 저장.메모리 사용 영역JVM은 운영체제에서 할당받은 메모리 영역을 메소드 영역, 힙 영역, 스택 영역으로 구분해서 사용.메서드 영역 : 바이트코드 파일을 읽은 내용이 저장되는 영역힙 영역 : 객체가 생성되는 영역. 객체의 번지는 메서드 영역과 스택 영역의 상수와 변수에서 참조.스택 영역 : 메소드를 호출할 때마다 생성되는 프레임이 저장되는 영역참조 타입 변수의 ==, != 연산==, != 연산자는 객체의 번지를 비교해 변수의 값이 ..

Java Study 2024.06.21

객체지향 프로그래밍에 대해서...

객체지향 프로그래밍의 개념프로그래밍에서 객체를 사용하는 것을 의미함.데이터와 메서드를 포함하는 '객체'개념에 기반한 프로그래밍.프로그램의 유연성을 향상하고 유지 및 관리의 가능성을 높임.데이터 및 데이터의 동작(메서드)을 단일 위치(객체)에 통합하여 프로그램 작동방식을 더 쉽게 이해할 수 있음.객체지향 프로그래밍의 장점개발 속도 향상소프트웨어 개발의 생산성 향상소프트웨어 개발의 생산성 향상개발 비용 절감객체지형 프로그래밍의 구성 요소구성 요소설명클래스같은 종류의 집단에 속한 속성과 행동을 정의한 틀.목적을 같이 하는 데이터와 그 데이터를 처리하는 기능을 묶어놓은 단위.객체클래스의 인스턴스.메모리에 올라가서 실체화된 데이터.캡슐화데이터와 행동을 하나의 단위로 묶는 것.접근제한자를 사용하여 외부에서의 접근을..

Java Study 2024.06.21

메서드 오버로딩(Method Overloading)이란?

메서드 오버로딩(Method Overloading)이란?메서드명이 같지만 매개변수가 다른 메서드를 하나의 메서드명으로 정의하는 것.메서드 오버로딩을 위한 조건메서드명이 같음.매개변수의 자료형이나 개수가 다름.Ex) 매개변수의 자료형이 다름 ▶ add(int a, in b)  add(int a, double b)  add(double a, double b)Ex) 매개변수의 개수가 다름 ▶ add(int a)  add(int a, int b)  add(int a, int b, int c)메서드 오버로딩 예제public class day5Test { public static void main(String[] args) throws IOException { calculate(2,3); ..

Java Study 2024.06.20

메서드(method)란?

메서드(method)란?프로그램에서 반복되는 특정 작업을 수행하기 위한 코드의 집합.Ex) System.out.println() : 콘솔에 메세지를 출력하는 기능의 함수.메서드의 종류(유형)?표준 라이브러리(J2SE API) 메서드1. 자바 클래스 라이브러리에 이미 정의되어 있는 메서드.2. 사전 정의 메서드 또는 내장 메서드라고도 함.3. 언제든 프로그램에서 호출하기만 하면 사용할 수 있음.사용자 정의 메서드1. 사용자 또는 프로그래머가 작성한 메서드.2. 필요에 따라 추가, 보완 , 수정, 삭제할 수 있음.메서드의 필요성?재사용성 : 코드의 중복 작성을 방지. 특정 메서드를 호출하여 코드를 재사용할 수 있음.가독성 : 코드를 쉽게 읽을 수 있음. 코드를 쉽게 이해할 수 있음.유지보수성 : 코드를 더 ..

Java Study 2024.06.20

ConcurrentHashMap VS ConcurrentSkipListMap 이란?

이전에 authprovider랑 provider에 대해서 작성한 글과 원래는 같이 작성하려고 하였지만, 분량과 가독성을 위해 따로 글을 올리게 되었습니다.  ConcurrentHashMap & ConcurrentSkipListMap 은 제가 알고 있는 hashMap과 skipList의 단어를 포함하고 있어 찾아보게 되었습니다. 혹시나 HashMap에 대해 궁금하신 분은 아래 글을 참고하시면 좋겠습니다!!https://zoohwan99.tistory.com/17 HashMap이란?이번 글에서는 제가 백준과 프로그래머스에서 알고리즘을 풀며 자주 나오는 HashMap에 대해서 알려드리는 글을 써보려고 합니다.이 자료구조는 많은 코딩테스트에도 등장하기도 하니, 많은 분들zoohwan99.tistory.com C..

자료구조 2024.06.19

AuthProvider VS Provider 이란?

Map에 관련하여 https://docs.oracle.com/en/java/javase/17/docs/api/에서 공부를 하던 와중에 아래 구현 클래스들에 대해 궁금증이 생겨 이렇게 글을 작성해보았습니다. 저 같은 경우에 한번도 보지 못했던 것들이라 더욱 궁금증이 생겼습니다. 그러면 아래 글에서 자세한 내용 살펴보겠습니다. AuthProvider이란?AuthProvider는 Java의 javax.security.auth.spi 패키지에 포함된 추상 클래스입니다. 이 클래스는 인증 서비스 제공자의 기본 클래스 역할을 합니다.목적 : AuthProvider는 특정 인증 메커니즘을 구현하기 위해 사용됨. 예를 들어, 사용자 이름과 비밀번호 기반의 인증, 인증 토큰 기반의 인증 등을 구현할 수 있음.메서드 :l..

자료구조 2024.06.19
반응형