728x90
반응형
SMALL

자바 51

[JAVA] 자바 - 제네릭 메서드 활용하기

제네릭 메서드란?자료형 매개변수를 메서드의 매개변수나 반환 값으로 가지는 메서드입니다.자료형 매개변수가 하나 이상인 경우도 있습니다.제네릭 클래스가 아니어도 내부에 제네릭 메서드는 구현하여 사용할 수 있습니다.public 반환형 메서드 이름(자료형 매개변수...) {}제네릭 메서드의 활용 예두 점(top, bottom)을 기준으로 사각형을 만들 때 사각형의 너비를 구하는 메서드두 점은 정수인 경우도 있고, 실수인 경우도 있으므로 제네릭 타입을 사용하여 구현합니다.Point.javapublic class Point { T x; V y; Point(T x, V y) { this.x = x; this.y = y; } public T getX() { return x; } public V getY()..

Java 2025.02.20

[JAVA] 자바 - 무엇이든 담을 수 있는 제네릭(Generic) 프로그래밍

제네릭을 사용하지 않았을 경우 발생하는 문제점프로그래머의 실수가 컴파일 과정에서 발견되지 않음프로그래머의 실수가 실행 과정에서 조차 발견되지 않을 수 있음제네릭이란?클래스에서 사용하는 변수의 자료형이 여러 개일 수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정할 수 있도록 선언함실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식이다클래스 또는 메소드에서 사용되는 다양한 데이터타입을 일반화 시켜서 정의하는 방법제네릭 프로그래밍이란?어떤 값이 하나의 참조 자료형이 아닌 여러 자료형을 사용할 수 있도록 프로그래밍 하는 것특징코드 재사용성이 높아짐타입 안정성 제공 ( 의도하지 않은 타입 사용 방지 )불필요한 형변환 줄임제..

Java 2025.02.20

[JAVA] 자바 - 제네릭의 기본 문법

다중 매개변수 기반 제네릭 클래스의 정의하기class DBox { private L left; // 왼쪽 수납 공간 private R right; // 오른쪽 수납 공간 public void set(L o, R r) { left = o; right = r; } @Override public String toString() { return left + " & " + right; }}public static void main(String[] args) { DBox box = new DBox(); box.set("Apple", 25); System.out.println(box); // => Apple & 25 출력!} DBox 클래스에 제네릭을 로 설정했으므로 L => String, R => Intege..

Java 2025.02.20

[JAVA] File클래스

File클래스파일 시스템의 파일을 표현하는 클래스로 파일 크기, 파일 속성, 파일 이름 등의 정보와 파일 생성 및 삭제 기능을 제공한다. java.util.File을 import 후 사용 가능하다.File test1 = new File("파일 경로");File test2 = new File("C:/test/test.txt"); 파일 / 디렉터리 생성 및 삭제 메서드리턴타입메서드설명booleancreateNewFile()새로운 파일 생성booleanmkdir()새로운 디렉터리 생성booleanmkdirs()경로 상에 없는 모든 디렉터리 생성booleandelete()파일 또는 디렉터리 삭제파일 / 디렉터리 정보 리턴 메서드리턴 타입메소드설명booleancanExcute()실행할 수 있는 파일인지 여부boo..

Java 2025.02.18

[JAVA] 자바 OutputStream(바이트 단위 스트림)

OutputStream바이트 단위 출력용 최상위 스트림추상 메서드를 포함한 추상 클래스로 하위 클래스가 구현하여 사용 클래스명설명FileOutputStream바이트 단위로 파일에 자료를 씀ByteArrayOutputStreamByte 배열에 바이트 단위로 자료를 씀FilterOutputStream기반 스트림에서 자료를 쓸 때 추가 기능을 제공하는 보조 스트림의 상위 클래스임  메서드 명설명void write(int b)한 바이트를 출력함void write(byte[] b)b[] 배열에 있는 자료를 출력함void write(byte b[], int off, int len)b[] 배열에 있는 자료의 off 위치부터 len 개수만큼 자료를 출력함void flush()출력을 위해 잠시 자료가 머무르는 출력 버퍼..

Java 2025.02.17

[JAVA] 자바 InputStream(바이트 단위 스트림)

InputStream바이트 단위 입력용 최상위 스트림추상 메서드를 포함한 추상 클래스로 하위 클래스가 구현하여 사용 주요 하위 클래스클래스명설명FileInputStream파일에서 바이트 단위로 자료를 읽음ByteArrayInputStreamByte 배열 메모리에서 바이트 단위로 자료를 읽음FilterInputStream기반 스트림에서 자료를 읽을 때 추가 기능을 제공하는 보조 스트림의 상위 클래스 InputStream의 메서드메서드 명설명int read()입력 스트림으로부터 한 바이트의 자료를 읽음. 읽은 자료의 바이트 수를 반환int read(byte b[])입력 스트림으로부터 b[] 크기의 자료를 b[]에 읽음. 읽은 자료의 바이트 수를 반환int read(byte b[], int off, int l..

Java 2025.02.17

[JAVA] 자바의 입출력스트림

스트림스트림은 "흐르는 좁은 시냇물"을 뜻하며 프로그램에서는 데이터의 흐름을 나타낸다. 입출력 장치에서 데이터를 읽고 쓰기 위해 자바에서 제공하는 클래스이다. 입출력이 구현되는 곳은 파일 디스크, 키보드, 마우스, 메모리 네트워크 등이 있다.스트림의 특징모든 스트림은 단방향이다.각각의 장치마다 연결할 수 있는 스트림이 존재한다.하나의 스트림으로 입출력을 동시에 수행할 수 없다. (동시에 수행하려면 2개의 스트림이 필요!)입력 스트림과 출력 스트림입력 스트림대상으로 부터 자료를 읽어 들이는 스트림출력 스트림대상으로 자료를 출력하는 스트림스트림의 종류입력 : FileInputStream, FileReader, BufferedInputStream, BufferedReader 등출력 : FileOutputStr..

Java 2025.02.17

[JAVA] 자바 - 추상 클래스란?

추상 클래스몸체 없는 메소드를 포함한 클래스선언부에 abstract 키워드 사용// 추상클래스 표현식[접근제한자] abstract class 클래스명() {}  몸체가 없는 메소드는 추상메소드라고 하고 상속 시 반드시 구현해야 하는 오버라이딩이 강제화되는 메소드이다. 추상 메소드 또한 선언부에 abstract 키워드를 사용하고 new 키워드를 사용하여 인스턴스를 생성할 수 없다.// 추상메소드 표현식[접근제한자] abstract 반환형 메소드명(자료형 변수명); 추상 클래스의 특징미완성 클래스로 자체적으로 객체 생성 불가 -> 반드시 상속하여 객체 생성 가능abstract 메서드가 포함된 클래스는 반드시 abstract 클래스(abstract 메서드가 없어도 abstract 클래스 선언 가능)클래스 내에..

Java 2025.02.14

[JAVA] 객체지향 프로그래밍의 4가지 특징 (OOP의 4가지 특징)

객체, 객체 지향 프로그래밍객체란 의사나 행위가 미치는 대상 객체는 주문, 학생, 관리 등처럼  눈에 보이는 사물은 모두 객체라 할 수 있고 눈에 보이지 않는 것 또한 객체가 될 수 있다. 그리고 이러한 객체는 각각 어떤 특성과 행위들을 가지고 그것들을 코드로 구현한 것을 클래스라고 한다. 그리고 클래스를 기반으로 프로그래밍한 것을 객체 지향 프로그래밍(Object Oriented Programming)이라 하고 4가지의 특징이 있다. 객체 지향의 4가지 특징상속 (Inheritance)  객체지향 프로그래밍(OOP)에서는 유지보수가 편리하고, 프로그램을 수정하거나 새로운 기능을 추가하는 것이 유연하다. 이러한 특징을 가능하게 하는 핵심 기술 중 하나가 상속(Inheritance)이다.상속이란 기존 클래..

Java 2025.02.14

[JAVA] 자바 - 객체 간의 상속의 의미

상속 객체지향 프로그래밍(OOP)에서는 유지보수가 편리하고, 프로그램을 수정하거나 새로운 기능을 추가하는 것이 유연하다. 이러한 특징을 가능하게 하는 핵심 기술 중 하나가 상속(Inheritance)이다.상속이란 기존 클래스(A 클래스)의 속성과 메서드를 새로운 클래스(B 클래스)에서 물려받아 재사용하는 개념이다. 이를 통해 코드의 중복을 줄이고, 공통 기능을 한 곳에서 관리할 수 있어 유지보수성을 높일 수 있다. 또한, 부모 클래스의 기능을 확장하거나 재정의(오버라이딩)하여 유연하게 변경할 수도 있다.새로운 클래스를 정의할 때 이미 구현된 클래스를 상속받아서 속성이나 기능을 확장하여 클래스를 구현한다.이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속한다.상속받..

Java 2025.02.11
728x90
반응형
LIST