본문 바로가기

Java14

Java - 제네릭, 컬렉션 제네릭(Generic) 프로그래밍 제네릭 자료형 정의 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정 할 수 있도록 선언 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식 컬렉션 프레임워크에서 많이 사용되고 있음 예시 public class GenericPrinter { private T material; public void setMaterial(T material) { this.material = material; } public T getMaterial() { return material; } public String toString(){ return mater.. 2022. 11. 17.
Java - 자료구조 (배열,연결리스트,스택,큐) 자료구조 자료구조(Data Structure)란 무엇인가? 프로그램에서 사용할 많은 데이타를 메모리 상에서 관리하는 여러 구현방법들 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음 여러 자료 구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 하므로 자료구조에 대한 이해가 중요함 자료구조의 종류 선형 자료구조 한 줄로 자료를 관리하는 구조 자료들 간의 앞뒤 관계가 1:1의 선형관계 배열(Array), 연결리스트(LinkedList), 스택(Stack), 큐(Queue) 등이 있다. 비선형 자료구조 하나의 자료 뒤에 여러개의 자료가 존재할 수 있는 구조 자료들 간의 앞뒤 관계가 1:n, 또는 n:n 의 관계 트리(Tree)와.. 2022. 11. 17.
Java - 자바의 유용한 클래스 Object 클래스 - 모든 클래스의 최상위 클래스 java.lang 패키지 import java.lang.*; 프로그래밍시 import 하지 않아도 자동으로 imort됨 많이 사용하는 기본 클래스들이 속한 패키지 ex) String, Integer, System... 모든 클래스는 Object 클래스를 상속 받는다 java.lang.Object 클래스 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있음 평소에는 컴파일러가 extends Object를 추가함 public class Student {} -> public class Student extends Object {} toString() 메서드 객체의 정보를 String으로 바꾸어서 사용할 때.. 2022. 11. 17.
Java - 다형성과 인터페이스 다형성 다형성(polymorphism)이란? 하나의 코드가 여러 자료형으로 구현되어 실행되는 것 같은 코드에서 여러 다른 실행 결과가 나옴 정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나 다형성을 잘 활용하면 유연하고 확장성있고, 유지보수가 편리한 프로그램을 만들 수 있음 다형성을 사용하는 이유? 상속과 메서드 재정의를 활용하여 확장성 있는 프로그램을 만들 수 있음 그렇지 않는 경우 많은 if-else if문이 구현되고 코드의 유지보수가 어려워짐 상위 클래스에서는 공통적인 부분을 제공하고 하위 클래스에서는 각 클래스에 맞는 기능을 구현 여러 클래스들을 하나의 타입(상위 클래스)으로 핸들링할 수 있음 추상 클래스 구현하기 추상클래스(abstract class)란? 구현 코드 없이 메서.. 2022. 11. 17.