Java의 추상 클래스에 대한 완전한 소개



이 기사는 개념을 훨씬 더 잘 이해하기위한 예제와 함께 Java의 추상 클래스에 대한 자세한 접근 방식을 지원합니다.

추상 클래스 사용자가 추상화를 달성하도록 돕습니다. 이는 소프트웨어 설계 과정에서 따르는 가장 중요한 객체 지향 프로그래밍 방식입니다. 이 기사에서는 다음 문서를 통해 추상 클래스의 용어를 논의 할 것입니다.

Java의 추상 클래스는 무엇입니까?

추상 클래스 구현 방법과 기능 간의 경계 역할을합니다. 기능을 교환하는 데 사용됩니다. 콘크리트 반원과 요약 수업.





Abstract-Classes-in-Java-Edureka

추상 클래스는 방법 구현 사용자의 세부 사항을 표시하고 방법 기능. 키워드를 사용하여 선언됩니다. 요약 . 이러한 방법에는 다음이 포함될 수 있습니다. 요약비추 상 그들에있는 방법.

PL / SQL 예외 처리

Java에서 추상 클래스가 필요한 이유는 무엇입니까?

다음과 같은 이유로 Java에서 추상 클래스가 필요합니다.



  • 추상 클래스 지원 동적 분석법 해결 런타임에
  • 사용자가 느슨한 결합
  • 추상 클래스는 방법 정의 상속에서 하위 클래스
  • 그들은 제공합니다 기본 기능 모든 하위 클래스에 대해 정의 된 메서드의
  • 추상 클래스는 주형 미래의 특정 수업
  • 추상 클래스는 암호 재사용 성

Java에서 추상 클래스를 사용하기위한 규칙

Java에서 추상 클래스를 구현하려면 아래 설명 된 규칙을 따라야합니다.



  • 추상 클래스는 요약 예어.
  • 추상 클래스는 다음을 포함 할 수 있습니다. 요약비추 상 행동 양식.
  • 추상 클래스는 인스턴스화.
  • 다음을 포함 할 수 있습니다. 생성자공전 행동 양식.
  • 추상 클래스에는 다음이 포함됩니다. 결정적인 행동 양식.

Java에서 추상화를 달성하는 방법

Java에서 추상화 프로세스는 다음 두 가지 방법으로 수행 할 수 있습니다.

  1. 추상 클래스 구현
  2. 인터페이스 구현

추상 클래스 구문

추상 클래스와 추상 메서드를 정의하는 구문은 다음과 같습니다.

추상 클래스 Edureka {}
추상 클래스 Method ()

qlikview 자습서 단계별

추상 클래스의 실제 예

// 추상 클래스

package Abstract public abstract class Person {private String name private String 성별 public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' 이름 = '+ this.name +':: Gender = '+ this.gender}}

// 학생 수업

package Abstract public class Student extends Person {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studying () {if (StudentID == 0 ) {System.out.println ( 'Not Studying')} else {System.out.println ( '공학 학사 학위 취득')}} public static void main (String args []) {Person student = new Student ( 'Priya', 'Female', 0) Person student1 = new Student ( 'Karan', 'Male', 201021) Person student2 = new Student ( 'Kumari', 'Female', 101021) Person student3 = new Student ( ' John ','남성 ', 201661) student.Studying () student1.Studying () student2.Studying () student3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}

산출:

공부하지 않음
공학 학사 학위 추구
공학 학사 학위 추구
공학 학사 학위 추구
이름 = Priya :: Gender = Female
이름 = Karan :: 성별 = 남성
이름 = 구 마리 :: 성별 = 여성
이름 = John :: Gender = Male

인터페이스와 추상 클래스의 차이점

상호 작용 추상 클래스
추상 메서드 만 가질 수 있습니다.추상 및 비추 상 방법을 가질 수 있음
최종 변수 만 있습니다.비 최종 변수 포함
정적 및 최종 변수 만 있습니다.정적, 비 정적, 최종, 비 최종 변수가 있습니다.
추상 클래스를 구현하지 않습니다.인터페이스 구현 가능
'implements'키워드를 사용하여 구현'확장'키워드를 사용하여 구현
인터페이스 만 확장 가능Java 클래스 및 인터페이스 확장 가능
구성원은 기본적으로 공개입니다.회원은 비공개 및 보호 가능

// 추상 클래스 예제

package abstactVSinterface abstract class Shape {String objectName = ''Shape (String name) {this.objectName = name} abstract public double area () abstract public void draw ()} class Rectangle extends Shape {int length, width Rectangle (int length, int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ( 'Rectangle is drawn')} @Override public double area () {return (double) (length * width)}} class Circle extends Shape {double pi = 3.14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Override public void draw () { System.out.println ( 'Circle is drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = new Rectangle (20, 30, 'Rectangle') System.out.println ( 'Area of ​​rectangle :'+ rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ( '원의 면적 :'+ circle.area ())}}

산출:

직사각형 영역 : 600.0
원의 면적 : 628.0

__init__ 파이썬

// 인터페이스 예

package absVSint interface Shape {void draw () double area ()} class Rectangle implements Shape {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @Override public void draw () {System.out.println ( 'Rectangle이 그려졌습니다')} @Override public double area () {return (double) (length * width)}} class Circle 구현 Shape {double pi = 3.14 int radius Circle (int radius) {this.radius = radius} @Override public void draw () {System.out.println ( 'Circle has been drawn')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ( 'Area of ​​rectangle :'+ rect.area ()) Shape circle = new Circle (20) System.out.println ( 'Area of ​​circle :'+ circle.area ())}}

산출:

직사각형 영역 : 600.0
원의 면적 : 628.0

이것으로 우리는이 기사의 끝으로 왔습니다. 추상화, 구문, 기능, Java의 추상화 규칙 및 이와 관련된 실제 예제의 중요성을 이해 하셨기를 바랍니다.

이제 Java의 기본 사항을 이해 했으므로 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Java 개발자가 되고자하는 학생과 전문가를 위해 설계되었습니다. 이 과정은 Java 프로그래밍을 시작하고 Hibernate &와 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다. .

질문이 있으십니까? 이 'Java의 추상 클래스'블로그의 주석 섹션에 언급하시면 가능한 한 빨리 연락 드리겠습니다.