반응형

2024/07 20

java.base 모듈

API 도큐먼트자바 표준 모듈에서 제공하는 라이브러리를 쉽게 찾아서 사용할 수 있도록 도와주는 문서.java.base모든 모듈이 의존하는 기본 모듈로, 모듈 중 유일하게 requires하지 않아도 사용할 수 있음.java.lang자바 언어의 기본적인 클래스를 담고 있는 패키지이 패키지에 있는 클래스와 인터페이스는 import 없이 사용할 수 있음.Object 클래스클래스를 선언할 때 extends 키워드로 다른 클래스를 상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속.자바의 모든 클래스는 Object의 자식이거나 자손 클래스.객체 동등 비교Objects의 equals() 메서드는 객체의 번지를 비교하고 boolean 값을 리턴.객체 해시코드객체를 식별하는 정수. Object의 ha..

Java Study 2024.07.13

Lamda(람다식)

람다식이란?Java 8 도입된 기능.함수형 프로그래밍 : 함수를 정의하고 이 함수를 데이터 처리부로 보내 데이터를 처리하는 기법.데이터 처리부는 제공된 함수의 입력값으로 데이터를 넣고 함수에 정의된 처리 내용을 실행.람다식데이터 처리부에 제공되는 함수 역할을 하는 매개변수를 가진 중괄호 블록.메서드에 인수를 전달하거나 변수에 저장하는 방법을 기술한 식.람다 표현식매개변수 리스트 : 매개변수 (,)로 구분하여 0개 이상의 매개변수 일 수 있음.람다 연산 기호 : 화살표 연산자( -> )람다 본문(람다 호출될 때 실행될 코드)에서 매개변수 리스트를 분리. 즉, 함수 시그니처와 본문 사이의 다리 역할.자바는 람다식을 익명 구현 객체로 변환.함수형 인터페이스인터페이스가 단 하나의 추상 메서드(SAM - Sing..

Java Study 2024.07.12

자바 컬렉션 프레임워크

컬렉션 프레임워크널리 알려진 자료구조를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 관련 인터페이스와 클래스들을 포함시켜 놓은 java.util 패키지주요 인터페이스 : List, Set, mapList 컬렉션객체를 인덱스로 관리하기 때문에 객체를 저장하면 인덱스가 부여되고 인덱스로 객체를 검색, 삭제할 수 있는 기능을 제공.ArrayListArrayList에 객체를 추가하면 내부 배열에 객체가 저장되고 제한 없이 객체를 추가할 수 있음.객체의 번지를 저장. 동일한 객체를 중복 저장 시 동일한 번지가 저장. (null 저장 가능)ArrayList 컬렉션에 객체를 추가 시 인덱스 0번부터 차례대로 저장.특정 인덱스의 객체를 제거하거나 삽입하면 전체가 앞/뒤로 1씩 당겨지거나 밀림.빈번한 객..

자료구조 2024.07.10

제네릭(Generic)이란?

제네릭결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때(인스턴스 생성 시) 파라미터를 구체적인 타입으로 대체시키는 기능.는 T가 타입 파라미터임을 뜻하는 기호.제네릭 타입결정되지 않은 타입을 파라미터로 가지는 클래스와 인터페이스.선언부에 ''부호가 붙고 그 사이에 타입 파라미터들이 위치.타입 파라미터는 일반적으로 대문자 알파벳 한 글자로 표현.외부에서 제네릭 타입을 사용하려면 타입 파라미터에 구체적인 타입을 지정. 지정하지 않으면 Object 타입이 암묵적으로 사용.제네릭 메서드타입 파라미터를 가지고 있는 메서드. 타입 파라미터가 메서드 선언부에 정의.리턴 타입 앞에 기호 추가하고 타입 파라미터 정의 후 리턴 타입과 매개변수 타입에서 사용.타입 파라미터 T는 매개값의 타입에 따라 컴파일 과정에서..

Java Study 2024.07.10

JDBC 라이브러리

JDBC 라이브러리자바는 데이터베이스(DB)와 연결해서 데이터 입출력 작업을 할 수 있도록 JDBC 라이브러리(java.sql 패키지)를 제공.JDBC는 데이터베이스 관리시스템(DBMS)의 종류와 상관없이 동일하게 사용할 수 있는 클래스와 인터페이스로 구성.JDBC DriverJDBC 인터페이스를 구현한 것으로, DBMS마다 별도로 다운로드 받아 사용.DriverManager 클래스 : JDBC Driver를 관리하며, DB와 연결해서 Connection구현 객체 생성.Connection 인터페이스 : Statement, PreparedStatement, Callablestatement 구현 객체를 생성하며, 트랜잭션 처리 및 DB 연결을 끊을 때 사용.Statement 인터페이스 : SQL의 DDL과 ..

Java Study 2024.07.07

예외 처리(Exception Handling)

예외와 에러에러 : 컴퓨터 하드웨어 고장으로 인해 응용프로그램 실행 오류 발생.예외 : 잘못된 사용 또는 코딩으로 인한 오류.예외가 발생하면 프로그램은 곧바로 종료된다는 점은 에러와 동일하지만, 에러와 달리 예외 처리를 통해 계속 실행 상태를 유지할 수 있음.일반 예외(Exception) : 컴파일러가 예외 처리 코드 여부를 검사하는 예외.실행 예외(Runtime Exception) : 컴파일러가 예외 처리 코드 여부를 검사하지 않는 예외.예외 처리예외 발생 시 프로그램의 갑작스러운 종료를 막고 정상 실행을 유지할 수 있게 하는 코드.예외 처리 코드는 try~catch~finally 블록으로 구성.try~catch~finally 블록은 생성자 내부와 메서드 내부에서 작성.자바의 모든 에러와 예외 클래스는..

Java Study 2024.07.07

자바 스트림(Stream)이란?

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

자료구조 2024.07.03

인터페이스(Interface)

다형성 보장 4가지 전제 조건상속업캐스팅오버라이드동적 바인딩추상 클래스 : 실체로 구현하는 구현 클래스가 아님. 디자인을 위한 템플릿 클래스클래스 상속부모 생성자 호출 : super()protected, public 접근 제한의 의미final, static final (멤버, 클래스, 메서드)타입 변환(upcasting, downcasting)객체 타입 확인 작업 : instanceOf다형성을 제공하는 방법 : 멤버 타입, 메서드 호출인터페이스의 개념?추상 클래스와 마찬가지로 인터페이스는 그 자체의 객체를 만들 수 없음.추상 클래스는 추상 메서드와 일반 메서드를 포함할 수 있지만 인터페이스는 추상 메서드만 포함할 수 있음.두 객체를 연결하는 역할 & 다형성 구현에 주된 기술.인터페이스 사용 이유완전한 추..

Java Study 2024.07.02

[자바]Programmers - 2018 KAKAO BLIND RECRUITMENT [3차] 파일명 정렬

이번에 풀게 된 문제는 "프로그래머스"라는 사이트에서 2018 KAKAO BLIND RECRUITMENT [3차] 파일명 정렬 문제입니다.Lv. 2에 정답률은 57%인 문제이며 입력 받은 값을 기반으로 정렬하여 알맞은 출력값을 만드는 문제 입니다.그럼 바로 문제 설명 들어가보도록 하겠습니다. 문제 설명선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다.저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 파일을 이름 순으로 정렬하면 나중에 만들어진 ver-10.zip이 ver-9.zip보다 먼저 표..

알고리즘 2024.07.02

추상화

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

Java Study 2024.07.01
반응형