반응형

전체 글 99

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

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
반응형