Java 및 메서드의 추상 클래스 [예제 포함]

게시 됨: 2021-06-18

다음 기사에서는 Java의 추상화 속성과 추상 클래스와 추상 메소드를 통해 구현하는 방법에 대해 설명합니다. 우리는 자바에서 추상 클래스와 인터페이스의 기능을 탐구할 것입니다.

목차

추출

Java의 중요한 개념 중 하나는 추상화입니다. 프로그램의 중요한 내용만 사용자에게 표시하는 속성입니다. 중요하지 않은 부분은 모두 숨겨져 있습니다. 이 과정은 이메일의 예를 통해 설명할 수 있습니다. 발신자는 수신자에게 전달되는 이메일을 보냅니다. 발신자에게 알려진 유일한 정보는 이메일이 전송되었다는 것입니다. 이메일을 보내는 백그라운드 프로세스는 사용자에게 숨겨져 있습니다. OOP(Object-Oriented Programming)의 프로세스도 비슷합니다. 필수 요소는 사용자에게 표시되고 필수 요소가 아닌 부분은 숨겨집니다. 사용자는 구현 프로세스에 대한 정보가 없지만 기능만 알고 있습니다. 이 메커니즘은 다른 특성은 무시하고 객체의 본질적인 특성만 표시하는 추상화로 알려져 있습니다.

Java에서 추상화는 추상 클래스와 인터페이스를 통해 이루어집니다.

자바의 추상 클래스

"abstract"라는 키워드는 Java에서 추상 클래스 및 메소드에 사용됩니다. 추상 클래스의 선언에는 abstract 키워드가 있습니다.

Java 추상 클래스의 구문은 다음과 같습니다.

추상 클래스 class_name

{

공개 추상 무효 the_abstractMethod();

공개 무효 the_normalMethod()

{

#메소드의 본체

}

}

위의 구문은 일반 메서드와 추상 메서드가 모두 추상 클래스에 포함될 수 있음을 보여줍니다.

추상 클래스의 몇 가지 속성은 다음과 같습니다.

  • 추상 메소드는 Java 추상 클래스 에 있을 수도 있고 없을 수도 있습니다 .
  • 클래스에 하나 이상의 추상 메서드가 있으면 해당 클래스가 추상 클래스가 됩니다.
  • 추상 클래스는 객체를 가질 수 없으므로 직접 인스턴스화할 수 없습니다.
  • 추상 클래스는 다른 클래스에서 상속받아 추상 메소드를 구현한 경우에만 사용할 수 있습니다.
  • 추상 클래스를 상속하는 동안 추상 메서드의 적절한 구현이 필요합니다.
  • 일반 및 추상 메소드는 모두 Java 추상 클래스 에 존재할 수 있습니다 .
  • 매개변수화된 생성자는 추상 클래스에 존재할 수 있습니다. 또한 추상 클래스에는 항상 기본 생성자가 포함되어 있습니다.

추상 방법

추상 메서드는 선언에 대한 구현이 필요하지 않은 메서드 유형입니다. 이러한 메서드에는 구현이 없음을 의미하는 본문이 없습니다. 추상 메서드의 몇 가지 속성은 다음과 같습니다.

  • 자바에서 추상 메소드는 " abstract" 키워드를 통해 선언된다.
  • 추상 메서드를 선언하는 동안 추상 키워드는 메서드 이름 앞에 위치해야 합니다.
  • 추상 메서드에는 본문이 없으며 메서드의 서명만 있습니다.
  • Java 추상 메소드 에는 중괄호가 없지만 메소드의 끝에는 세미콜론(;)이 있습니다.

추상 이중 메서드(이중 n1, 이중 n2);

  • 추상 메서드를 포함하는 모든 클래스는 추상 클래스로 선언해야 합니다. 그 반대가 사실이 아닐 수도 있지만, 즉 추상 클래스가 추상 메소드를 가질 필요는 없습니다.
  • 일반 클래스에서 추상 클래스를 상속하려면 부모 클래스의 모든 추상 메서드를 구현해야 합니다.

추상 메서드의 예

공개 추상 클래스 자동차

{

개인 문자열 모델;

개인 문자열 색상;

사설 연도;

공개 추상 이중 computePrice();

}

파생 클래스가 추상 메서드를 구현하지 않으면 인스턴스화할 수 없는 추상 클래스가 생성됩니다.

일부는 Java에서 추상 키워드와 함께 사용할 수 없습니다.

  • 결정적인
  • 추상 네이티브
  • 추상 정적
  • 추상 개인
  • 추상 동기화
  • 추상 엄격한

Java에서 추상 메소드 의 사용을 보여주는 코드 는 다음과 같습니다.

원천

코드의 출력은 다음과 같습니다.

자바 인터페이스

추상 클래스 및 추상 메소드 외에 Java는 인터페이스를 사용하여 추상화를 달성합니다. 관련된 메서드를 빈 몸체로 묶을 때 이를 인터페이스라고 합니다. 인터페이스는 추상 메서드의 그룹화이므로 추상 클래스와 유사합니다. 클래스가 인터페이스를 구현하면 인터페이스 내의 모든 추상 메서드가 상속됩니다. 인터페이스에는 기본 메서드, 상수 및 정적 메서드도 포함될 수 있습니다. 기본 및 정적 메서드의 메서드 본문만 있습니다. 상속과 클래스는 비슷한 방식으로 작성할 수 있지만 클래스는 개체의 속성과 동작을 설명할 수 있습니다. 인터페이스의 경우 객체의 동작만 존재하지만 클래스에 의해 구현됩니다.

클래스는 구현하는 인터페이스의 모든 메서드를 정의해야 합니다. 추상 클래스의 경우에만 클래스에서 메서드를 정의할 필요가 없습니다.

인터페이스는 다음과 같은 점에서 Java 추상 클래스 와 유사합니다.

  • 인터페이스에는 임의의 수의 메소드가 포함될 수 있습니다.
  • .java 확장자는 파일에 인터페이스를 작성하는 데 사용됩니다. 파일 이름은 인터페이스 이름과 일치해야 합니다.
  • .class 파일에는 인터페이스의 바이트 코드가 포함되어 있습니다.
  • 인터페이스는 패키지에 나타납니다. 인터페이스의 바이트코드 파일은 패키지 이름과 같은 이름의 디렉토리에 있습니다.

인터페이스는 다음과 같은 점에서 Java 추상 클래스 와 다릅니다.

  • 인터페이스를 인스턴스화할 수 없습니다.
  • 인터페이스에는 생성자가 없습니다.
  • 인터페이스에는 추상 메서드만 포함되어 있습니다.
  • 인터페이스에 인스턴스 필드가 없습니다. 인터페이스에 나타나야 하는 경우 필드를 정적 및 최종적으로 선언해야 합니다.
  • 클래스만 인터페이스를 구현할 수 있지만 확장할 수는 없습니다.
  • 인터페이스는 여러 인터페이스를 확장할 수 있습니다.

세계 최고의 대학에서 온라인으로 소프트웨어 과정배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

인터페이스의 속성

  • 인터페이스가 암시적으로 추상적이므로 abstract 키워드를 통해 인터페이스를 추상으로 선언할 필요가 없습니다 .
  • 추상 키워드는 암시적으로 추상적이기 때문에 메서드를 추상으로 선언하는 데 필요하지 않습니다.
  • 인터페이스의 모든 메서드는 암시적으로 공개됩니다.

인터페이스를 선언하는 방법?

"인터페이스"라는 키워드는 인터페이스를 선언하는 데 사용됩니다. 인터페이스를 사용하여 전체 추상화를 제공합니다. 기본적으로 인터페이스 내의 모든 메서드는 추상적이고 공개적입니다. 이것은 인터페이스에 메소드가 없고 모든 필드가 static, public 및 final임을 의미합니다.

인터페이스 구문:

인터페이스 이름_of_the_interface {

# 필드 선언

# 추상 메소드 선언

}

예를 들어 인터페이스 플레이어

{

최종 정수 나이 = 40;

정수 계산();

}

인터페이스를 구현하는 방법?

인터페이스를 구현하기 위해 키워드 ' 구현' 이 사용됩니다. 하나의 클래스에서 둘 이상의 인터페이스를 구현할 수 있습니다. 이러한 경우 키워드 ' implements' 뒤에 쉼표로 구분된 인터페이스 목록이 옵니다. 키워드는 클래스 선언에 사용됩니다.

인터페이스 구현의 예는 다음과 같습니다.

클래스 Maruti는 자동차를 구현합니다.

Java에서 인터페이스 구현을 보여주는 코드의 예는 다음과 같습니다.

원천

코드는 다음 출력을 생성합니다.

다중 인터페이스 구현을 적용한 코드는 아래와 같습니다.

원천

코드는 다음 출력을 생성합니다.

일부 텍스트…

다른 텍스트...

인터페이스가 사용되는 이유는 무엇입니까?

  • 인터페이스는 전체 추상화를 달성하는 데 사용됩니다.
  • Java에서 다중 상속은 Java가 다중 상속을 지원하지 않기 때문에 상속을 사용하여 달성할 수 있습니다.
  • 인터페이스를 사용하여 느슨한 결합을 얻을 수 있습니다.
  • Java에서 구현 추상화를 사용하여 달성할 수 있습니다.

Java의 추상화는 Java 추상 클래스 를 통해 달성할 수 있지만 인터페이스는 최종, 공용 및 정적 변수를 포함하므로 사용됩니다. 그러나 최종 클래스가 아닌 변수가 추상 클래스에 존재할 수 있습니다.

Java 인터페이스와 Java 추상 클래스를 모두 사용하여 추상화를 구현하는 경우 인터페이스와 추상 클래스를 언제 사용해야 하나요?

  • 추상 클래스는 사용자가 하위 클래스 그룹에 대한 템플릿을 정의해야 할 때 사용됩니다.
  • 인터페이스는 사용자가 다른 클래스에 대한 역할을 정의해야 할 때 사용됩니다.

추상화의 몇 가지 장점은 다음과 같습니다.

  • 프로그램의 복잡성이 감소합니다.
  • 재사용 가능성을 높이는 코드 중복 가능성이 적습니다.
  • 사용자에게 몇 가지 세부 사항만 제공하기 때문에 추상화를 사용하여 프로그램의 보안이 향상됩니다.

결론

이 기사에서는 사용자에게 불필요한 정보를 숨기는 기술인 Java추상화 에 대한 자세한 개념에 대해 설명했습니다. Java에서 추상화는 추상 클래스와 인터페이스를 통해 이루어집니다. 100% 추상화는 인터페이스에 의해 제공되는 반면 부분 추상화는 추상 클래스에 의해 제공됩니다. 이 기사에서는 인터페이스를 사용해야 하는 경우와 추상 클래스를 사용해야 하는 경우에 대해 추가로 언급했습니다. 또한 Java 추상 클래스 와 인터페이스의 유사점과 차이점을 나열했습니다. 두 개념에 대한 필수 지식 없이는 결함으로 가득 찬 코드가 생성됩니다.

더 많은 것을 배우고 실생활 문제에서 개념을 구현하는 데 더 관심이 있다면, 리버풀 존 무어스 대학교( Liverpool John Moores University )에서 인정하는 upGradIIIT-Bangalore 에서 제공하는 컴퓨터 공학 석사 과정을 확인할 수 있습니다. 이 과정은 업계 최고의 전문가 및 소프트웨어 엔지니어링 교수진으로부터 500시간 이상의 교육을 제공하는 초급 전문가(21-45세)를 위해 설계되었습니다. 과정에 대한 자세한 내용은 upGrad 공식 홈페이지에서 확인할 수 있다.

자신의 기술을 향상시키고 미래를 준비하십시오

IIIT-B에서 소프트웨어 개발의 이그 제 큐 티브 PG 프로그램 신청