반응형

자바 17

자바 스트림(Stream)이란?

많은 알고리즘 문제와 코딩 테스트를 풀다 보면, 거의 항상 "입력은 여러 테스트 케이스로 이루어져 있다" 혹은 "입력으로 무엇 무엇이 들어온다"라는 말과 함께 데이터를 사용자로부터 받는 경우가 대다수입니다. 이때 저희는 파일이나 콘솔을 활용하여 입출력을 하지만, 실제 내부에서는 스트림(Stream)이라는 흐름을 통해 다뤄집니다. 이 흐름을 통해 입출력을 받고 생성한 데이터를 기반으로 가공하여 결과를 도출해냅니다. 그러면 이 스트림(Stream)이라는 것이 과연 무엇이냐? 지금부터 한번 알아보겠습니다🤗 스트림(Stream)이란? -> Stream : 개울, 시내, (액체&기체의)줄기실제의 입력이나 출력이 표현된 데이터의 흐름을 의미.운영체제에 의해 생성되는 가상의 연결 고리(중간 매개자 역할)를 의미.J..

자료구조 2024.07.03

추상화

추상화의 개념추상화란 불필요한 정보를 숨기고 중요한 정보만을 나타내는 것을 의미.추상화를 이용하면 어떤 영역에서 필요한 공통의 속성이나 행동을 추출함으로써 효율적인 코드를 작성할 수 있음.추상화의 장점객체 간의 복잡성이 줄어듦.코드의 중복을 막고 재사용성을 높일 수 있음.사용자에게 중요한 세부 정보만 제공하므로 응용 프로그램이나 프로그램의 보안에 도움이 됨.추상화의 유형데이터 추상화주로 복잡한 자료형을 만들고 구현을 숨기는 것으로, 구현의 세부 사항으로 이동하지 않고 데이터 유형을 조작하는 작업만 노출.제어 추상화작업의 단위 정의를 만들고 필요할 때마다 재사용하는 것으로, 반복되는 모든 코드를 수집하고 이를 하나의 단위로 노출.추상화 구현 방법추상화는 추상 클래스 또는 인터페이스를 통해 구현할 수 있음...

Java Study 2024.07.01

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

메서드(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
반응형