Java(35)
-
제네릭스
1. 제네릭스(Generics)1-1. 제네릭스란? 자바에서 클래스나 메서드가 다룰 데이터 타입을 컴파일 시점에 지정할 수 있도록 하는 기능쉽게 말해서, 타입을 변수처럼 사용할 수 있게 해주는 것 제네릭스를 활용하는 제네릭 클래스는 제네릭 타입(T, E, K, V)을 활용하여 하나의 클래스로 해당 제네릭 타입에 변화를 줘서 제네릭 클래스의 인스턴스를 다양한 타입을 지닌 인스턴스로 활용할 수 있다.제네릭 클래스와 제네릭 메서드를 사용하면 여러 타입을 유연하게 처리 가능제네릭 선언은 다이아몬드 연산자 를 이용하여 작성하고 안에는 참조형을 선언해줘야 한다 1-2. 제네릭 클래스 // 제네릭 클래스 정의class Box { // T는 타입 변수 (T, E, K, V 등 아무 이름이나 가능) priva..
2025.02.26 -
입출력 I/O
1. 자바 입출력 I/O1-1. 입출력 I/OInput and Output입력(Input): 키보드, 파일, 네트워크 등에서 데이터를 읽어오는 것출력(Output): 화면, 파일, 네트워크 등으로 데이터를 보내는 것자바는 java.io 패키지를 이용해 입출력을 처리한다. 컴퓨터 내부 또는 외부 장치와 프로그램 간의 데이터를 연동을 위한 자바 라이브러리입출력 사용 이유입출력을 사용함으로써 사용자로 부터 입력을 받거나 화면이나 스피커로 출력해 줄 수 있다.또한 파일 형태로 프로그램의 종료 여부와 상관없이 영구적으로 데이터를 저장할 수도 있다.자바의 입출력은 스트림(Stream) 개념을 사용한다. 1-2. 스트림 (Stream)입출력 장치에서 데이터를 읽고 쓰기 위한 단방향 통로로 자바에서 제공하는 클래스한..
2025.02.26 -
추상클래스와 인터페이스
1. 추상클래스 (Abstract Class)1-1. 추상메소드 // 추상 메소드의 구현: 리턴타입 앞에 abstract키워드 붙이기public abstract void method(); // 추상메소드는 반드시 끝에 세미콜론을 붙여 주어야 한다.추상 메소드: 선언부만 작성하고 구현부 {}는 작성하지 않은 채로 남겨둔 메소드 설계만 해놓고 실제 수행될 내용은 작성하지 않았기 때문에 미완성 메소드이다.메소드를 미완성 상태로 남겨 놓는 이유는 메소드의 내용이 소속받는 클래스에 따라 달라질 수 있기 때문에 클래스에서는 선언부만 작성하고, 실제 내용은 상속받는 클래스에서 구현하도록 비워두는 것이다.자식클래스에서 클래스 내용을 구현하지 않으면 인스턴스가 생성되지 않으므로 내용 구현에 강제성을 줄 수 있..
2025.02.25 -
예외처리
1. 프로그램 오류 프로그램이 오작동하거나 비정상적으로 종료되게 하는 원인들프로그래밍에서는 오류를 발생 시점에 따라 크게 3가지로 나눈다.컴파일 에러(compile-time error) : 컴파일시에 발생하는 에러 런타임 에러(runtime error) : 실행시에 발생하는 에러 논리적 에러(logical error) : 실행은 되지만 의도와 다르게 동작하는것자바 프로그래밍에서는 실행 시(runtime) 발생할 수 있는 오류를 '에러(error)'와 '예외(exception)' 두가지로 구분 하였다. 2. 에러(Error)와 예외(Exception) 2-1. 에러(error) 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 시스템 상에서 프로그램에 심각한 문제가 발생하여 실행중인 프로그램이 종료되는 ..
2025.02.25 -
Java API (3) - java.time 패키지
java.time 패키지 java.time 패키지는 Java 8에서 추가된 현대적인 날짜/시간 API기존에 Date, Calendar 가 가지고 있는 단점들을 해소하기 위해서 탄생되었다.Time 패키지의 가장 큰 장점은 Date와 Calendar와 다르게 불변하여 멀티스레드 환경에서도 안전하다. String 처럼 날짜와 시간을 변경을 하면 기존의 객체가 변경되는 것이 아닌 새로운 객체가 반환된다. 하위 패키지패키지설명java.time날짜와 시간 관련 클래스들을 제공한다java.time.chronoISO-8601 에 정의된 외에 달력 시스템을 위한 클래스들을 제공한다java.time.format날짜와 시간 파싱과 형식화 관련 클래스들을 제공한다java.time.temporal날짜와 시간의 필드와 단위 관련..
2025.02.25 -
Java API (2) - java.util 패키지
java.util 패키지프로그램을 제어하기 위한 클래스와 데이터를 효율적으로 저장하기 위한 클래스들을 담고 있다.1. java.util.Random 자바 난수 발생Math.random() Math.random(): 0~1 사이의 소수값 원하는 범위의 난수를 구하는 공식(int) (Math.random() * 구하려는 난수의 갯수) + 구하려는 난수의 최소값 public static void main(String[] args) { /* 0 ~ 9까지의 난수hnjee.tistory.com 2. java.util.StringTokenizer String 문자열 분리 문법 - split(), StringTokenizer1. split(), StringTokenizer 비교비교 항목split() 메서드 Str..
2025.02.25