OOP Concepts in Java
OOPS란 무엇인가요?
객체 지향 프로그래밍 시스템(OOP) 추상화, 캡슐화, 상속 및 다형성의 원칙에 따라 작동하는 프로그래밍 개념입니다. 이를 통해 사용자는 원하는 개체를 만들고 해당 개체를 처리하는 메서드를 만들 수 있습니다. OOP의 기본 개념은 객체를 생성하고 프로그램 전체에서 재사용하며 이러한 객체를 조작하여 결과를 얻는 것입니다.
OOP는 "객체 지향 프로그래밍"을 의미하며 다음과 같은 현대 프로그래밍 언어에서 널리 알려져 널리 사용되는 개념입니다. Java.
OOP Concepts in Java 예와 함께
다음은 일반적인 OOP 개념입니다. Java:
1) 수업
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 수업 는 유사한 엔티티의 그룹인 OOP의 기본 개념 중 하나입니다. 그것은 단지 논리적 구성 요소일 뿐이며 물리적 엔티티는 아닙니다. 이것을 OOP 중 하나로 이해해 보겠습니다. Concepts 예를 들어, "Expensive Cars"라는 클래스가 있는 경우 Mercedes, BMW, Toyota 등과 같은 객체가 있을 수 있습니다. 해당 속성(데이터)은 이러한 자동차의 가격이나 속도일 수 있습니다. 이러한 자동차를 사용하여 수행할 수 있는 방법은 운전, 후진, 제동 등입니다.
2) 객체
객체는 클래스의 인스턴스로 정의될 수 있으며 프로그램에는 클래스의 인스턴스가 여러 개 있을 수 있습니다. 개체는 다음 중 하나입니다. Java 데이터와 데이터를 처리하는 함수를 모두 포함하는 OOP 개념. 예를 들어, 의자, 자전거, 마커, 펜, 테이블, 자동차 등.
3) 상속
계승 기본 중 하나입니다 Concepts 하나의 객체가 상위 객체의 속성과 동작을 획득하는 OOP입니다. 두 클래스 사이에 부모-자식 관계를 생성합니다. 이는 모든 소프트웨어의 구성 및 구조를 위한 강력하고 자연스러운 메커니즘을 제공합니다.
4) 다형성
다형성 OOP 개념 중 하나를 말합니다. Java 이는 변수, 객체 또는 함수가 여러 형태를 취할 수 있는 능력입니다. 예를 들어, 영어에서는 동사 운영 함께 사용하면 의미가 달라집니다 노트북, 도보 경주및 사업. 여기서 우리는 다음의 의미를 이해합니다. 운영 그와 함께 사용되는 다른 단어를 기반으로 합니다. 다형성에도 동일하게 적용됩니다.
5) 추상화
추출 OOP 중 하나입니다 Concepts in Java 이는 배경 세부 정보를 포함하지 않고 필수 기능을 표현하는 행위입니다. 특정 애플리케이션에 적합한 새로운 데이터 유형을 만드는 기술입니다. OOP 중 하나인 이것을 이해해 보겠습니다. Concepts 예를 들어, 자동차를 운전하는 동안에는 내부 작동에 대해 걱정할 필요가 없습니다. 여기서는 스티어링 휠, 기어, 액셀러레이터 등과 같은 부품에 대해서만 걱정하면 됩니다.
6) 캡슐화
캡슐화 최고 중 하나이다. Java 데이터와 코드를 래핑하는 OOP 개념. 이 OOP 개념에서 클래스의 변수는 항상 다른 클래스에서 숨겨집니다. 현재 클래스의 메서드를 사용해서만 액세스할 수 있습니다. 예를 들어, 학교에서 학생은 클래스 없이는 존재할 수 없습니다.
7) 협회
연관(Association)은 두 개체 사이의 관계입니다. OOP 중 하나입니다. Concepts in Java 이는 개체 간의 다양성을 정의합니다. 이 OOP 개념에서는 모든 개체가 별도의 수명 주기를 가지며 소유자가 없습니다. 예를 들어, 많은 학생이 한 명의 교사와 연결될 수 있고 한 학생이 여러 교사와 연결될 수도 있습니다.
8) 집계
이 기술에서 모든 객체는 별도의 수명 주기를 갖습니다. 그러나 자식 객체가 다른 부모 객체에 속할 수 없는 소유권이 있습니다. 예를 들어, 클래스/객체인 department와 teacher를 생각해 보세요. 여기서 단일 teacher는 여러 department에 속할 수 없지만 department를 삭제하더라도 teacher 객체는 결코 파괴되지 않습니다.
9) 구성
컴포지션은 집계의 특수한 형태입니다. 죽음의 관계라고도 불린다. 하위 개체에는 수명 주기가 없으므로 상위 개체가 삭제되면 모든 하위 개체도 자동으로 삭제됩니다. 이를 위해 집과 방의 예를 들어보겠습니다. 모든 집에는 여러 개의 방이 있을 수 있습니다. 한 방은 두 개의 다른 집의 일부가 될 수 없습니다. 따라서 삭제하면 집방도 삭제됩니다.
OOP(객체 지향 프로그래밍 시스템)의 장점:
- OOP Concepts in Java 프로그램에 대해 이해하기 쉽고 명확한 모듈식 구조를 제공합니다.
- 객체 지향 프로그램용으로 생성된 객체는 다른 프로그램에서 재사용할 수 있습니다. 따라서 상당한 개발 비용이 절약됩니다.
- 대규모 프로그램은 작성하기 어렵지만, 개발 및 설계팀이 OOPS 개념을 따르면 최소한의 결함으로 더 나은 설계를 할 수 있습니다.
- 모든 객체가 독립적으로 존재하기 때문에 프로그램 모듈성이 향상됩니다.
예제를 통해 OOPS와 다른 프로그래밍 스타일 비교
예를 들어 어떻게 이해합시다 Java OOP Concepts 다른 프로그래밍 접근 방식과 다릅니다.
프로그래밍 언어 크게 3가지 유형으로 분류할 수 있습니다
- 구조화되지 않은 프로그래밍 언어: 순차적 제어 흐름을 갖는 모든 프로그래밍 언어 중 가장 원시적입니다. 코드는 프로그램 전체에서 반복됩니다.
- 구조적 프로그래밍 언어: 비순차적인 제어 흐름이 있습니다. 함수를 사용하면 코드를 재사용할 수 있습니다.
- 객체 지향 프로그래밍 언어: 데이터와 액션을 함께 결합합니다.
LINK 비디오에 접근할 수 없는 경우
예를 들어 이 3가지 유형을 이해해 봅시다.
다음과 같은 기능을 갖춘 뱅킹 소프트웨어를 만들고 싶다고 가정해 보겠습니다.
- 입금
- 출금
- 잔액 표시
구조화되지 않은 프로그래밍 언어
모든 프로그래밍 언어 중 가장 초기에는 구조화되지 않은 프로그래밍 언어가 있었습니다. 구조화되지 않은 프로그래밍 언어로 된 매우 기본적인 은행 애플리케이션 코드에는 계좌 번호와 계좌 잔고에 대한 두 개의 변수가 있습니다.
int account_number=20; int account_balance=100;
100달러가 입금되었다고 가정해보자.
account_balance=account_balance+100
다음으로 계정 잔액을 표시해야 합니다.
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
이제 50달러의 금액이 인출되었습니다.
account_balance=account_balance-50
이번에도 계정 잔액을 표시해야 합니다.
printf(“Account Number=%d,account_number) printf(“Account Balance=%d,account_balance)
추가 입금 또는 출금 작업의 경우 동일한 줄을 계속 반복해서 입력해야 합니다.
구조적 프로그래밍
구조적 프로그래밍이 등장하면서 코드에서 반복되는 줄이 함수나 메소드와 같은 구조에 추가되었습니다. 필요할 때마다 함수에 대한 간단한 호출이 이루어집니다.
객체 지향 프로그래밍
우리 프로그램에서는 데이터를 다루거나 데이터에 대한 특정 작업을 수행합니다. 사실, 데이터를 가지고 그 데이터에 대한 특정 작업을 수행하는 것은 모든 소프트웨어 프로그램에서 매우 기본적인 특성입니다. 소프트웨어 프로그래밍 전문가는 데이터와 Opera따라서 객체 지향 프로그래밍이 탄생했는데, 일반적으로 OOPS라고 합니다. 객체 지향 프로그래밍 언어의 동일한 코드는 동일한 데이터를 갖고 해당 데이터에 대해 수행되는 일부 동작을 갖습니다.
Class Account{ int account_number; int account_balance; public void showdata(){ system.out.println(“Account Number”+account_number) System.out.println(“Account Balance”+ account_balance) } }
데이터와 작업을 결합함으로써 구조적 프로그래밍에 비해 다음과 같은 많은 이점을 얻을 수 있습니다.
- 추출
- 캡슐화
- 계승
- 다형성
이에 대해서는 이후 튜토리얼에서 더 자세히 설명합니다.