반응형

Java Study 27

Gson이란?

Gson??JAVA에서 Json객체를 파싱하고, 생성하기 위해 사용되는 구글에서 개발한 오픈 소스JavaObject를 Json 문자열로 변환할 수 있고, Json 문자열을 JavaObject로 변환 가능.직접 라이브러리를 다운 받아 프로젝트에 추가.Gson 객체 생성 방법new Gson()new GsonBuilder.create()public static void main(String[] args) { Gson gson1 = new Gson(); Gson gson2 = new GsonBuilder().create(); Gson gson3 = new GsonBuilder().setPrettyPrinting().create();}GsonBuilder란?구글의 Gson 라이브러리에서 제공하는 객체 생성 ..

Java Study 2024.07.18

데이터 입출력

데이터 입출력자바에서 데이터를 입력하고 출력 기능을 제공하는 라이브러리(API) 활용 방법파일 입출력 & TCP/UDP 기반의 네트워크 환경에서 데이터 입출력입력 스트림과 출력 스트림프로그램을 기준으로 데이터가 들어오면 입력 스트림, 데이터가 나가면 출력 스트림프로그램이 다른 프로그램과 데이터를 교환하려면 양쪽 모두 입력 스트림과 출력 스트림이 필요.바이트 스트림 : 그림, 멀티미디어, 문자 등 모든 종류의 데이터를 입출력할 때 사용.문자 스트림 : 문자만 입출력할 때 사용.자바는 데이터 입출력과 관련된 라이브러리를 java.io 패키지에서 제공.바이트 입출력 스트림의 최상위 클래스는 InputStream과 OutputStream(둘 다 추상)문자 입출력 스트림의 최상위 클래스는 Reader과 Write..

Java Study 2024.07.17

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

제네릭(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

인터페이스(Interface)

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

Java Study 2024.07.02

추상화

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

Java Study 2024.07.01

@Override가 있고 없고의 차이

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

Java Study 2024.06.30
반응형