-
Object 클래스, 제네릭[공부] 프로그래밍/Spring・Spring Boot (JAVA) 2023. 4. 24. 16:23
Object 클래스
Object 클래스는 모든 JAVA 클래스의 조상 클래스이다.
Object 클래스의 메소드
① toString : 어떠한 객체를 문자화시키는 메서드
② finalize : 객체가 소멸될 때 호출되는 메서드
③ clone : 똑같은 객체를 생성할 수 있는 메서드
class Student implements Cloneable{ String name; Student(String name) { this.name = name; } public Object clone() throws CloneNotSupportedException() { return super.clone(); } } public class ObjectDemo { public static void main(String[] args) { Student s1 = new Student("test"); // 복제를 하기 위해서는 Cloneable을 구현하기 try { s1.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } } }
제네릭
제네릭은 클래스와 메서드를 하나 이상의 유형으로 매개 변수화할 수 있는 Java의 기능이다. 이를 통해 각 유형에 대해 별도의 코드 버전을 생성할 필요 없이 다양한 유형에서 작동할 수 있는 재사용 가능한 코드를 생성할 수 있다.
public class Box<T> { private T contents; public Box(T contents) { this.contents = contents; } public T getContents() { return contents; } }
이 예제에서는 모든 유형의 객체를 담을 수 있는 Box라는 클래스를 정의한다. 클래스 정의의 T는 클래스의 인스턴스가 생성될 때 실제 유형으로 대체되는 유형 매개변수이다. contents 필드는 개체를 보유하고 getContents() 메서드는 개체를 반환한다. 다양한 유형의 객체를 보관하기 위해 Box 클래스를 사용하는 방법은 다음과 같다.
Box<String> stringBox = new Box<>("hello"); String contents = stringBox.getContents(); Box<Integer> intBox = new Box<>(42); int contents = intBox.getContents();
이 예에서는 Box 클래스의 두 인스턴스를 만든다. 하나는 String 개체를 포함하고 다른 하나는 Integer 개체를 포함한다. 인스턴스를 생성할 때 유형 매개변수를 지정한다.(첫 번째는 String, 두 번째는 Integer) 그런 다음 지정된 유형의 객체를 반환하는 getContents() 메서드를 사용하여 각 상자의 내용을 검색할 수 있다. 제네릭은 다양한 형식에서 작동할 수 있는 재사용 가능한 코드를 만드는 강력한 방법을 제공한다. 코드 중복을 줄이고 코드 가독성과 유지 관리성을 향상시키는 데 도움이 된다.
'[공부] 프로그래밍 > Spring・Spring Boot (JAVA)' 카테고리의 다른 글
iterator, Map (0) 2023.04.27 Collections framework (0) 2023.04.27 @RestController, produces, subscribeOn (0) 2023.04.19 Flux, @Tailable (0) 2023.04.14 @PathVariable (0) 2023.04.12