> Java > java지도 시간 > 본문

Java의 집계

PHPz
풀어 주다: 2024-08-30 16:21:35
원래의
666명이 탐색했습니다.

집계는 멤버 함수와 데이터 멤버를 다른 클래스에서 활용할 수 있는 방식으로 두 클래스 간의 연결이라고 할 수 있습니다. 이 연관은 소위 "방향 연관"이라고 불리는 한 가지 방법입니다. 이 관계가 "HAS-A" 관계입니다. 이는 학생이라는 수업이 있고 학생에게 과목이 있는 경우를 의미합니다. 이 경우 주제 클래스는 고유한 특성과 멤버 함수를 사용하여 별도로 정의하고, 학생 클래스는 고유한 멤버 함수와 데이터 멤버를 갖습니다. 이 경우 이러한 클래스는 "HAS-A" 관계와 연결됩니다. 이번 주제에서는 JAVA의 Aggregation에 대해 자세히 알아보겠습니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

Java의 집계 구문

집계 구문은 코드 구조로 설명할 수 있습니다.

class Student{
int rollnumber;
String firstname;
String lastname;
Subjectsubject;//Here subject is a different class containing its own members functions and data members.
...
//**..Code snippet..**
…
}
로그인 후 복사

설명: 위 구문에서 “student”와 “subject”라는 두 개의 클래스가 있음을 알 수 있습니다. 이 둘은 집계 관계를 통해 연결됩니다. 학생에게는 과목이 있으므로 이는 모든 학생에게 과목이 있는 것처럼 "HAS-A" 관계를 정당화합니다. 따라서 해당 주제의 모든 멤버 함수는 학생 클래스에서 호출될 수 있습니다. 이는 데이터 재사용성 기능을 더욱 전파합니다.

Java에서 Aggregation이 필요한 이유는 무엇인가요?

JAVA에서 이 기능의 주요 용도는 "코드 재사용성"입니다. 예를 들면 이것을 잘 이해할 수 있습니다.

예를 들어 '고객'과 '자동차'라는 두 개의 클래스가 있습니다. 엔진 출력, 색상, 파워 스티어링, 치수 등과 같은 "자동차" 클래스에 저장되는 자동차의 사전 정의된 속성이 있습니다. "고객" 클래스는 고객 이름, 전화번호, 주소 등과 같은 고객의 특성을 저장하는 반면, 고객이 매장에서 자동차를 구입하기 위해 도착하는 경우 매장 소유자는 다음 정보만 활용하면 됩니다. "자동차" 클래스. 이렇게 하면 매장에 도착하는 여러 고객에 대해 코드를 재사용할 수 있습니다.

이 기능은 모듈식 접근 방식을 사용하여 코드 복잡성을 줄이고 코드 가시성을 향상시킵니다.

Java에서 집계는 어떻게 작동하나요?

집합은 위에서 설명한 것처럼 기본적으로 두 클래스 간의 연결입니다. 이는 JAVA 프로그램에서 두 개의 클래스를 정의함으로써 달성됩니다. 이 두 클래스 중 하나가 재사용됩니다. 예를 들어, "클래스 A"와 "클래스 B"가 클래스입니다. "클래스 B"는 재사용되므로 이 클래스는 "클래스 A"에서 인스턴스화됩니다.

  • 질문: 인스턴스화하는 방법
  • 답변: ClassBcb 사용

그런 다음 "cb" 개체를 사용하여 "클래스 A"에서 "클래스 B"의 멤버 함수를 호출할 수 있습니다. 이 기능을 사용하면 모듈화, 캡슐화 및 데이터 재사용이라는 객체 지향 기능을 따를 수 있습니다.

Java에서 집계를 구현하는 단계

언급된 단계는 다음과 같습니다.

1단계

class Application{
int finding_square(int number){
return number*number;
// refer step 1 in explanation section.
}
}
class Square{
로그인 후 복사

2단계

Application app;
//aggregationfeature is initiated by instantiating a class defined above which needs to be re used.
double area_of_square(int side){
로그인 후 복사

3단계

app=new Application();
int area=app.finding_square(side);//code reusability (i.e. delegates the method call)
로그인 후 복사

4단계

return area;
}
public static void main(String args[]){
Square sq=new Square();
double result=sq.area_of_square(5);
로그인 후 복사

5단계

System.out.println(result);
로그인 후 복사

6단계

}
}
로그인 후 복사

설명

  • 1단계: 여기서는 다음과 같은 여러 위치에서 사용할 수 있는 함수를 정의했습니다. 정사각형, 원의 면적을 알고 싶거나 숫자의 정사각형을 찾아야 하는 경우 언급된 모든 경우에 이 단일 기능을 계속해서 사용할 수 있습니다. 코드 재사용성의 특징을 설명합니다.
  • 2단계: 위에서 정의한 클래스의 코드를 구현하는 데 사용되는 캐리어 클래스입니다. 이는 집계의 도움으로 수행됩니다. Aggregation은 아래 구문으로 구현됩니다.
  • 3단계: 여기서는 정사각형의 면적을 계산하는 함수를 정의했습니다. 이 함수는 이전 클래스를 활용하고 있습니다. “app”이라는 새 개체를 생성하고 아래 명령문에 기본 생성자를 할당했습니다.
  • 4단계: 이 단계에서는 이전 클래스의 멤버 함수를 호출하고 "side"라는 값도 전달합니다. 어플리케이션 클래스에서 함수를 추출하였기 때문에 “app”을 사용하고 함수명을 지정하였습니다.
  • 5단계: 5개를 따로 보내드립니다. 이 5를 사용하여 위에서 정의한 함수로 사각형의 면적을 계산하고 “result”라는 변수에 캡처합니다.
  • 6단계: 마지막으로 사각형의 면적이 포함된 "결과" 변수를 인쇄합니다. 이 경우 정사각형의 면적은 25이므로 출력 화면에는 25가 인쇄됩니다. float 데이터 유형으로 "result" 변수를 선언했으므로 결과는 25가 아닌 25.0인 float로 얻어야 ​​합니다.

출력:

파일 이름과 확장자 .java를 함께 사용하여 "javac" 명령을 사용하여 JAVA 코드를 컴파일합니다. 컴파일 후에는 이 클래스의 객체가 생성됩니다. 이 객체 파일에는 JRE(JAVA 런타임 환경)에서 이해한 중간 코드가 포함되어 있으며 이를 기계어로 변환합니다. 이 기계어 코드 스트림은 시스템에 전달되어 그 대가로 출력을 생성합니다.

Java의 집계

코드를 변경하는 경우 코드를 다시 컴파일하여 다른 개체 파일을 생성해야 합니다. 그런 다음 파일 이름과 함께 "java" 명령을 사용하여 파일을 실행합니다. 여기서는 JAVA 파일이 아닌 실행 파일을 호출하므로 확장자를 지정할 필요가 없습니다. 실행(객체) 파일의 기본 이름은 JAVA 파일과 동일합니다. 따라서 float 데이터 형식으로 사각형의 면적을 구했습니다.

결론

따라서 JAVA 언어의 집계는 개발자가 많이 사용하는 주요 기능 중 하나입니다. 코드 재사용 기능을 지원하므로 코드의 부피가 줄어듭니다. 코드가 더 명확해 보이고 유지 관리와 함께 구현이 훨씬 쉬워집니다. JAVA 프로젝트 작업 시 이 개념을 사용하는 것이 좋습니다.

위 내용은 Java의 집계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿