추상화 Java

추상화 란 무엇입니까? Java?

추출 객체 지향 프로그래밍의 개념으로, 필수적인 속성만 "보여주고" 불필요한 정보는 "숨기는" 것입니다. 추상화의 주요 목적은 사용자에게 불필요한 세부 정보를 숨기는 것입니다. 추상화는 더 큰 풀에서 데이터를 선택하여 사용자에게 객체의 관련 세부 정보만 보여주는 것입니다. 프로그래밍 복잡성과 노력을 줄이는 데 도움이 됩니다. OOP의 가장 중요한 개념 중 하나입니다.

LINK 비디오에 접근할 수 없는 경우

예를 들어 OOP의 추상화를 연구해 보겠습니다.

은행 애플리케이션을 만들고 고객에 대한 모든 정보를 수집하라는 요청을 받았다고 가정해 보겠습니다. 고객에 대한 다음 정보를 얻을 가능성이 있습니다.

추상화 Java
추상화 Java

하지만, 위의 모든 정보가 은행 애플리케이션을 만드는 데 필요한 것은 아닙니다. 따라서 귀하에게 유용한 정보만 선택해야 합니다. 은행 신청 그 수영장에서. 이름, 주소, 세금 정보 등과 같은 데이터는 OOP의 추상화 예인 은행 애플리케이션에 적합합니다.

추상화 Java

더 큰 풀에서 고객 정보를 가져오거나 제거하거나 선택했으므로 프로세스를 추상화라고 합니다. OOP. 그러나 추출된 동일한 정보는 광범위한 애플리케이션에 사용할 수 있습니다. 예를 들어, 거의 또는 전혀 수정하지 않고 병원 애플리케이션, 구인 포털 애플리케이션, 정부 데이터베이스 등에 동일한 데이터를 사용할 수 있습니다. 따라서 마스터 데이터가 됩니다. 이는 OOP에서 추상화의 장점입니다.

추상화와 캡슐화의 차이점

추출 캡슐화
객체 지향 프로그래밍의 추상화는 디자인 수준의 문제를 해결합니다. 캡슐화는 구현 수준을 해결합니다.
프로그래밍에서 추상화란 가장 중요한 정보를 보여주면서 원하지 않는 세부 사항은 숨기는 것입니다. 캡슐화란 코드와 데이터를 하나의 단위로 묶는 것을 의미합니다.
데이터 추상화 Java 정보 개체에 포함되어야 하는 내용에 집중할 수 있습니다. 캡슐화 보안상의 이유로 객체의 내부 세부 정보나 작동 방식을 숨기는 것을 의미합니다.

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

추상 클래스 인터페이스
추상 클래스에는 추상 메서드와 비추상 메서드가 모두 있을 수 있습니다. 인터페이스에는 추상 메서드만 있을 수 있습니다.
다중 상속을 지원하지 않습니다. 다중 상속을 지원합니다.
인터페이스 구현을 제공할 수 있습니다. 추상 클래스의 구현을 제공할 수 없습니다.
추상 클래스에는 보호된 공개 메소드와 추상 공개 메소드가 있을 수 있습니다. 인터페이스에는 공용 추상 메소드만 있을 수 있습니다.
추상 클래스는 모든 액세스 지정자를 사용하여 최종, 정적 또는 정적 최종 변수를 가질 수 있습니다. 인터페이스에는 공개 정적 최종 변수만 있을 수 있습니다.

추상 클래스란 무엇입니까?

추상 클래스 클래스의 한 유형입니다. Java, 하나 이상의 추상 메서드를 선언합니다. 이러한 클래스에는 추상 메서드와 구체적인 메서드가 있을 수 있습니다. 일반 클래스는 추상 메소드를 가질 수 없습니다. 추상 클래스는 하나 이상의 추상 메소드를 포함하는 클래스입니다. 우리는 개념을 통해 이해할 수 있습니다. 자바의 모양 예.

세 개의 클래스 Rectangle, Circle, Triangle에 상속된 Shape 클래스로 구성된 다음 클래스 계층을 고려하세요. Shape 클래스는 세 개의 클래스 Rectangle, Circle, Triangle에서 공유하는 공통 속성과 메서드를 저장하기 위해 만들어졌습니다. calculateArea()는 세 개의 자식 클래스에서 모두 공유하고 Shape 클래스에 있는 그러한 메서드 중 하나입니다.

추상 클래스 Java

모양 추상화 예

이제 위에 설명된 클래스에 대한 개체를 생성하는 코드를 작성한다고 가정합니다. 이것이 어떻게 이루어지는지 관찰해보자 사물은 실제 세계에서 보일 것입니다. 직사각형 클래스의 객체는 우리가 일상 생활에서 흔히 볼 수 있는 모양인 직사각형을 제공합니다.

추상 클래스

클래스 삼각형의 객체는 다시 일반적인 일상 모양인 삼각형을 제공합니다.

추상 클래스

하지만 실제 세계에서 Class Shape의 객체는 어떤 모습일까요??

추상 클래스

Shape 클래스가 제공되는 것을 관찰하면 우리의 달성 목표 계승 그리고 다형성. 그러나 인스턴스화되도록 구축되지 않았습니다. 이러한 클래스에는 레이블이 지정될 수 있습니다. 추상. 추상 Java 클래스는 인스턴스화할 수 없습니다.

구문 :

abstract class Shape{
	// code
}

Shape 클래스에 Abstract라는 레이블을 지정하지 않고 인스턴스화할 수도 있습니다. 그러나 그러한 개체는 코드에서 아무 소용이 없으며 잠재적인 오류의 여지가 생길 것입니다. 따라서 이는 바람직하지 않습니다.

추상 메서드란 무엇입니까? Java?

추상적인 방법 in Java는 메소드 정의만 있고 구현은 포함하지 않는 메소드입니다. 본문이 없는 메서드를 추상 메서드라고 합니다. 추상 클래스에서 선언해야 합니다. 추상 클래스는 모든 추상 메서드를 구현해야 하기 때문에 추상 메서드는 최종 메서드가 될 수 없습니다.

우리 모두 알고 있듯이 직사각형, 원, 삼각형의 면적 계산 공식은 다릅니다. 계산Area() 메서드는 상속 클래스에 의해 재정의되어야 합니다. Shape 클래스에서 정의하는 것은 의미가 없습니다. 하지만 상속하는 모든 클래스에 메서드가 있는지 확인해야 합니다.

이러한 방법은 라벨을 붙일 수 있습니다 요약.

구문 :

abstract public void calculateArea();

를 위해 추상 메서드이므로 구현이 필요하지 않습니다. 메소드의 서명만 정의됩니다.

추상화 코드 예

abstract class Shape{  
  abstract void calculateArea();  
}  
 class guru99 extends Shape{  
void calculateArea(){System.out.println("Area of Shape");}  
public static void main(String args[]){  
 Shape obj = new guru99();  
 obj.calculateArea();
}  
}

추상화의 장점

  • 추상화를 사용하면 얻을 수 있는 주요 이점은 다음과 같습니다. 프로그램 작성 여러 관련 클래스를 형제로 그룹화할 수 있다는 것입니다.
  • 객체 지향 프로그래밍의 추상화는 소프트웨어 설계 및 구현 과정의 복잡성을 줄이는 데 도움이 됩니다.

최종 키워드 Java

final 수정자는 클래스, 메서드 및 변수에 적용됩니다. final의 의미는 문맥에 따라 다르지만 본질적인 개념은 동일합니다.

  • 최종 클래스는 상속될 수 없습니다.
  • 최종 변수는 상수가 되며 그 값은 변경할 수 없습니다.
  • 최종 메서드는 재정의될 수 없습니다. 이는 보안상의 이유로 수행되며 이러한 방법은 최적화를 위해 사용됩니다.

예시 :- 추상 및 최종 키워드를 배우려면

단계 1) 다음 코드를 편집기에 복사하세요.

abstract class Shape{
   final int b = 20;
   public void display(){
     System.out.println("This is display method");
   }
   abstract public void calculateArea();
}

public class Rectangle extends Shape{
   public static void main(String args[]){
      Rectangle obj = new Rectangle();
      obj.display();
     //obj.b=200;
  }
  //public void calculateArea(){}
}

단계 2) 코드를 저장, 컴파일 및 실행합니다.

단계 3) 오류 =? 추상 메서드는 Rectangle 클래스에서 구현되지 않습니다. 문제를 해결하려면 #15행의 주석 처리를 해제하세요.

단계 4) 13번 줄의 주석 처리를 해제합니다. 코드를 저장하고 컴파일합니다.

단계 5) 오류 = ? 변수 b는 최종이다

추상 메서드와 추상 클래스는 언제 사용하나요?

추상 메서드는 대부분 두 개 이상의 하위 클래스가 서로 다른 구현을 통해 서로 다른 방식으로 동일한 작업을 수행하는 경우 선언됩니다. 또한 동일한 Abstract 클래스를 확장하고 추상 메서드의 다양한 구현을 제공합니다.

추상 클래스는 일반적인 유형의 동작과 객체 지향 프로그래밍 클래스 계층을 설명하는 데 도움이 됩니다. 또한 추상 클래스의 구현 세부 정보를 제공하기 위해 하위 클래스를 설명합니다.

슬립폼 공법 선택시 고려사항

  • 프로그래밍의 추상화는 중요한 데이터 세트를 선택하는 프로세스입니다. 목적 귀하의 소프트웨어에서 중요하지 않은 것은 제외합니다.
  • 데이터 추상화를 사용하여 개체를 모델링한 후에는 Java, 동일한 데이터 세트가 다른 응용 프로그램에서 사용될 수 있습니다.