Java의 Generics는 무엇입니까? – 초보자 가이드



Java의 Generics에 대한이 기사는 Java Generics 및 다양한 유형에 대한 간단한 통찰력과 예제를 제공합니다.

지역의 생물 목록을 작성해야하는 예를 생각해보십시오. 인간이든 동물이든 식물이든 상관 없습니다. 중요한 것은 살아있는 것입니다. 이 경우 모두 '살아있는 것들'로 그룹화하고 분류하지 않습니다. 마찬가지로 일부 데이터를 저장해야 할 때 중요한 것은 데이터 유형이 아닌 콘텐츠이며 여기에서 Generics를 사용합니다. 제네릭 제네릭 유형 및 메서드를 사용할 수있는 언어 기능입니다.

다음은이 기사에서 다룰 주제 목록입니다.





Java의 Generics는 무엇입니까?

제네릭 Generic 유형 및 메서드의 정의 및 사용과 관련된 언어 기능 집합을 나타내는 용어입니다. Java Generic 메소드는 일반 데이터 유형 및 메소드와 다릅니다. Generics 이전에는 모든 유형의 객체를 저장합니다. 비 일반 . 이제 Generics는 프로그래머는 특정 유형의 객체를 저장합니다.

이제 Java의 Generics가 무엇인지 알았으므로 더 나아가 Java Generics가 필요한 이유를 이해하겠습니다.



왜 Java Generics인가?

당신이 보면 클래스의 경우 대부분의 클래스가 Object 유형의 매개 변수 / 인수를 취하는 것을 관찰 할 수 있습니다. 기본적으로이 형식에서는 모든 Java 유형을 인수로 취하고 동일한 객체 또는 인수를 반환 할 수 있습니다. 그들은 본질적으로 이기종 즉, 유사한 유형이 아닙니다.

FrameworkHierarchy-Java의 제네릭-Edureka

때때로 Java 애플리케이션에서 입력의 데이터 유형이 고정되지 않습니다. 입력은 정수 , ~ 흙손 또는 . 입력을 할당하려면 올바른 데이터 유형의 경우 사전 확인을 수행해야했습니다. 전통적인 접근 방식에서는 입력을받은 후 입력의 데이터 유형을 확인한 다음 올바른 데이터 유형의 변수에 할당했습니다. 이 로직을 사용하면 코드 길이와 실행 시간이 늘어났습니다. 이를 피하기 위해 제네릭이 도입되었습니다. . Generics를 사용하면 컴파일 시간에 코드의 매개 변수가 자동으로 확인되고 기본적으로 데이터 유형이 설정됩니다. 그래서 이것은 Java에서 제네릭 개념이 필요한 곳입니다.

이제 Generics에 대한 몇 가지 통찰력을 얻었으므로 계속 진행하여 다양한 방법을 살펴 보겠습니다.제네릭을 소스 코드에 적용 할 수 있습니다..

Java Generics 유형

Java에서 Generics를 적용 할 수있는 4 가지 방법이 있으며 다음과 같습니다.

  1. 일반 유형 클래스
  2. 일반 인터페이스
  3. 일반 방법
  4. 일반 생성자

이제 제네릭이 유형 클래스에 어떻게 적용되는지 깊이 이해해 보겠습니다.

1. 일반 유형 클래스

클래스는 하나 이상의 유형 변수를 선언하는 경우 Generic이라고합니다. 이러한 변수 유형은 . 예를 들어 이해합시다. 아래 예에서는 속성이 하나 인 클래스를 생성합니다. 엑스 속성의 유형은 객체입니다.

class Genericclass {private Object x public void set (Object x) {this.x = x} public Object get () {return x}}

여기서 특정 유형으로 클래스를 초기화하면 해당 특정 유형으로 만 클래스를 사용해야합니다. 예 : 클래스의 한 인스턴스가 값을 보유하도록하려면 엑스 유형‘ ', 프로그래머가 설정하고 유형. Object에 속성 유형을 선언했기 때문에이 제한을 적용 할 방법이 없습니다. 프로그래머는 모든 객체를 설정할 수 있으며 다음에서 반환 값 유형을 기대할 수 있습니다. get 메소드 모든 Java 유형은 수업.

이러한 유형의 제한을 시행하기 위해 다음과 같이 제네릭을 사용할 수 있습니다.

class Genericclass {// T는 'Type'을 의미합니다. private T x public void set (T x) {this.x = x} public T get () {return x}}

이제 클래스가 잘못된 유형으로 오용되지 않을 것임을 확신 할 수 있습니다. 간단한 예' Genericclass ”는 아래와 같이 표시됩니다.

Genericclass instance = new Genericclass () instance.set ( 'Edureka') instance.set (10) // 컴파일 시간 오류가 발생합니다.

이것이 작동 방식입니다. 이인터페이스에서도 비유가 적용됩니다. Java의 인터페이스에서 제네릭 유형 정보를 사용할 수있는 방법을 이해하기위한 예제를 빠르게 살펴 보겠습니다.

2. 일반 인터페이스

안 추상 데이터 유형을 나타냅니다. 그들은 허락한다 표현의 세부 사항과는 독립적으로 조작됩니다. 또한 그들은 언어. Java 인터페이스에 제네릭 유형을 적용하는 방법을 이해하겠습니다.

// 일반 인터페이스 정의 인터페이스 GenericInterface {T2 PerformExecution (T1 x) T1 ReverseExecution (T2 x)} // 일반 인터페이스를 구현하는 클래스 클래스 Genericclass는 GenericInterface를 구현합니다 {public Integer PerformExecution (String x) {// 실행 코드} public String ReverseExecution ( 정수 x) {// 실행 코드}}

Generics가 타입 클래스와 인터페이스에 어떻게 적용될 수 있는지 이해 하셨기를 바랍니다. 이제이 문서를 더 자세히 살펴보고 이것이 메서드와 생성자에 어떻게 도움이되는지 이해하겠습니다.

3. 일반적인 방법

제네릭 메서드는 제네릭 클래스와 매우 유사합니다. 그들은 한 가지 측면에서만 서로 다릅니다. 범위 또는 유형 정보는 메소드 내부에만 있습니다. 일반 메서드는 자체 형식 매개 변수를 도입합니다.

예를 들어 이해합시다. 다음은 변수 목록에서 유형 매개 변수의 모든 발생을 찾는 데 사용할 수있는 일반 메서드의 예입니다.

public static int countAllOccurrences (T [] list, T element) {int count = 0 if (element == null) {for (T listElement : list) if (listElement == null) count ++} else {for (T listElement : list ) if (element.equals (listElement)) count ++} return count}

목록을 통과하면 이 방법으로 검색 할 문자열은 정상적으로 작동합니다. 그러나 문자열 목록에서 숫자를 찾으려고하면 컴파일 시간 오류가 발생합니다.

이 비유는 생성자와 유사합니다. 제네릭 생성자에 대한 예를 들어보고 작동 방식을 이해하겠습니다.

4. 일반 생성자

건축업자에게 새로 생성 된 객체를 초기화하는 코드 블록입니다. ㅏ 건축업자 J의 인스턴스 메소드와 유사 함 ava 하지만 반환 유형이 없기 때문에 메서드가 아닙니다. 생성자 클래스와 이름이 같고 J에서 다음과 같이 보입니다. ava 암호. 이제 예를 들어 어떻게 작동하는지 이해하겠습니다.

class Dimension {private T 길이 private T 너비 private T 높이 // 일반 생성자 public Dimension (T 길이, T 너비, T 높이) {super () this.length = 길이 this.width = 너비 this.height = 높이}}

tableau 자습서 단계별

위의 예에서 Dimension 클래스의 생성자에는 유형 정보가 있습니다. 따라서 단일 유형의 모든 속성 만있는 차원의 인스턴스를 가질 수 있습니다. 이것이 제네릭 타입 생성자를 사용하는 방법입니다. Java의 제네릭 유형을 이해 하셨기를 바랍니다.

이제 더 나아가 Java에서 Generics의 장점을 살펴 보겠습니다.

Java에서 Generics의 장점

1. 코드 재사용 성

전략이나 클래스 또는 한 번만 사용하면 필요한 모든 유형 또는 방식에 사용할 수 있습니다.

2. 개별 유형 주조가 필요하지 않습니다.

기본적으로 다음에서 정보를 복구했습니다. 매번 타이프 캐스트해야합니다. 각 회복 작업에서 타입 캐스팅은 주요 편두통입니다. 이러한 접근 방식을 근절하기 위해 제네릭이 도입되었습니다.

3. 비 제네릭 알고리즘 구현

또한 형식이 안전한 다양한 종류의 항목에서 작동하는 알고리즘을 계산할 수 있습니다.

이것이 바로 Java Generics의 장점이었습니다. 이것으로 우리는 Java의 Generics에 대한이 기사의 끝으로 왔습니다. 유익한 정보를 얻고 Java Generics를 이해하는 데 도움이 되었기를 바랍니다.

확인 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. 우리는 당신의 여정의 모든 단계에서 당신을 돕기 위해 여기에 있습니다.이 자바 인터뷰 질문 외에 우리는 자바 개발자가되기를 원하는 학생과 전문가를 위해 설계된 커리큘럼을 마련했습니다. 이 과정은 Java 프로그래밍을 시작하고 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 'Java의 제네릭'의 주석 섹션에 언급하십시오. ”기사 가능한 한 빨리 연락 드리겠습니다.