이름에서 알 수 있듯이 객체 지향 프로그래밍 또는 Java OOP 개념은 프로그래밍에서 객체를 사용하는 언어를 나타내며 객체를 기본 소스로 사용하여 코드에서 일어날 일을 구현합니다. 개체는 할당된 작업을 수행하는 뷰어 또는 사용자에게 표시됩니다.
객체 지향 프로그래밍은 프로그래밍에서 상속, 숨기기, 다형성 등과 같은 실제 엔터티를 구현하는 것을 목표로 합니다. OOP의 주요 목적은 데이터와 이에 대해 작동하는 함수를 결합하여 해당 함수 외에는 코드의 다른 부분이 이 데이터에 액세스할 수 없도록 하는 것입니다.
메소드 선언과 메시지 전달의 개념을 다듬어 전제 조건을 논의해 보겠습니다. 메소드 선언부터 시작하여 6개의 구성요소로 구성됩니다.
자바 배열 정렬
- 액세스 수정자 : 정의 액세스 유형 즉, 애플리케이션에서 액세스할 수 있는 방법입니다. Java에는 4가지 유형의 액세스 지정자가 있습니다.
- 공공의: 애플리케이션의 모든 클래스에서 액세스할 수 있습니다.
- 보호됨: 정의된 패키지 내에서 액세스 가능 하위 클래스(패키지 외부에 선언된 하위 클래스 포함) .
- 사적인: 정의된 클래스 내에서만 액세스할 수 있습니다.
- 기본값(수정자를 사용하지 않고 선언/정의됨): 해당 클래스가 정의된 동일한 클래스 및 패키지 내에서 액세스할 수 있습니다.
- 반환 유형 : 메소드에 의해 반환된 값의 데이터 유형이거나 값을 반환하지 않는 경우 void입니다.
- 메소드 이름 : 필드 이름 규칙은 메서드 이름에도 적용되지만 규칙은 약간 다릅니다.
- 매개변수 목록 : 괄호 안에 해당 데이터 유형이 앞에 오는 정의된 입력 매개변수의 쉼표로 구분된 목록입니다. 매개변수가 없으면 빈 괄호()를 사용해야 합니다.
- 예외 목록 : 메소드가 던질 것으로 예상되는 예외입니다. 이러한 예외를 지정할 수 있습니다.
- 메소드 본문 : 의도한 작업을 수행하기 위해 실행해야 하는 중괄호로 묶인 코드 블록입니다.
메시지 전달 : 객체들은 서로 정보를 주고받음으로써 서로 통신합니다. 개체에 대한 메시지는 프로시저 실행에 대한 요청이므로 원하는 결과를 생성하는 수신 개체의 함수를 호출합니다. 메시지 전달에는 개체 이름, 함수 이름 및 전송할 정보를 지정하는 작업이 포함됩니다.
Java의 마스터 OOP Educative의 대화형 과정을 통해 객체 지향 프로그래밍의 기초를 구축하여 더욱 깔끔하고 모듈화되었으며 재사용 가능한 Java 코드를 작성하세요. Java의 객체 지향 프로그래밍 . 코드를 사용하여 Educative.io에 가입하세요 긱스10 구독료를 10% 절약하려면
이제 기본 전제 조건을 다루었으므로 다음과 같은 OOP의 4가지 원칙으로 넘어갑니다. 하지만 객체지향 프로그래밍 언어의 다양한 특성에 대해 알아보는 것부터 시작해 보겠습니다.
OOPS 개념은 다음과 같습니다.
- 수업
- 물체
- 방법 그리고 메소드 전달
- OOP의 기둥
- 추출
- 캡슐화
- 계승
- 다형성
- 컴파일 타임 다형성
- 런타임 다형성

삼항 연산자 자바
ㅏ 수업 객체가 생성되는 사용자 정의 청사진 또는 프로토타입입니다. 이는 한 유형의 모든 개체에 공통된 속성 또는 메서드 집합을 나타냅니다. 클래스를 사용하면 코드를 여러 번 작성하는 대신 동일한 동작으로 여러 개체를 만들 수 있습니다. 여기에는 코드에서 두 번 이상 발생하는 개체에 대한 클래스가 포함됩니다. 일반적으로 클래스 선언에는 다음 구성 요소가 순서대로 포함될 수 있습니다.
- 수정자 : 클래스는 공개되거나 기본 액세스 권한을 가질 수 있습니다(참조 이것 자세한 내용은).
- 수업 이름: 클래스 이름은 관례에 따라 첫 글자를 대문자로 시작해야 합니다.
- 슈퍼클래스(있는 경우): 키워드가 앞에 오는 클래스의 부모(수퍼클래스) 이름(있는 경우)입니다. 클래스는 하나의 상위 클래스만 확장(서브클래스)할 수 있습니다.
- 인터페이스(있는 경우): 키워드 Implements가 앞에 오는 클래스에 의해 구현된 인터페이스의 쉼표로 구분된 목록입니다(있는 경우). 클래스는 둘 이상의 인터페이스를 구현할 수 있습니다.
- 몸: 클래스 본문은 중괄호({ })로 둘러싸여 있습니다.
객체 실제 엔터티를 나타내는 객체 지향 프로그래밍의 기본 단위입니다. 일반적인 Java 프로그램은 아시다시피 메서드를 호출하여 상호 작용하는 많은 객체를 생성합니다. 개체는 코드를 수행하는 것이며 뷰어/사용자에게 표시되는 코드의 일부입니다. 객체는 주로 다음으로 구성됩니다.
- 상태 : 객체의 속성으로 표현됩니다. 또한 개체의 속성을 반영합니다.
- 행동 : 객체의 메소드로 표현됩니다. 또한 다른 개체에 대한 개체의 반응을 반영합니다.
- 신원 : 다른 개체와 상호 작용할 수 있도록 개체에 부여된 고유한 이름입니다.
- 방법 : 메소드는 특정 작업을 수행하고 결과를 호출자에게 반환하는 명령문 모음입니다. 메서드는 아무것도 반환하지 않고 특정 작업을 수행할 수 있습니다. 방법을 통해 우리는 재사용 다시 입력하지 않고 코드를 작성하므로 고려됩니다. 시간 절약 . Java에서 모든 메소드는 일부 클래스의 일부여야 하며 이는 다음과 같은 언어와는 다릅니다. 씨 , C++ , 그리고 파이썬 .
클래스와 객체는 하나의 간단한 Java 프로그램입니다.
자바 public class GFG { static String Employee_name; static float Employee_salary; static void set(String n, float p) { Employee_name = n; Employee_salary = p; } static void get() { System.out.println('Employee name is: ' +Employee_name ); System.out.println('Employee CTC is: ' + Employee_salary); } public static void main(String args[]) { GFG.set('Rathod Avinash', 10000.0f); GFG.get(); } }> 산출
Employee name is: Rathod Avinash Employee CTC is: 10000.0>
이제 OOP의 4가지 핵심 요소에 대해 논의해 보겠습니다.
원칙 1: 추상화
데이터 추출 필수 세부 정보만 사용자에게 표시되는 속성입니다. 사소하거나 필수적이지 않은 단위는 사용자에게 표시되지 않습니다. 예: 자동차는 개별 구성 요소가 아닌 자동차로 간주됩니다.
데이터 추상화는 관련 없는 세부 사항은 무시하고 객체의 필수 특성만 식별하는 프로세스로 정의될 수도 있습니다. 객체의 속성과 동작은 유사한 유형의 다른 객체와 구별되며 객체를 분류/그룹화하는 데도 도움이 됩니다.
자동차를 운전하는 남자의 실제 사례를 생각해 보십시오. 남자는 가속 페달을 밟으면 자동차 속도가 빨라지고, 브레이크를 밟으면 차가 멈출 것이라는 것만 알지만, 가속 페달을 밟으면 실제로 속도가 증가하는 방법은 모릅니다. 그는 자동차의 내부 메커니즘이나 자동차의 가속 페달, 브레이크 등의 구현에 대해 알지 못합니다. 이것이 바로 추상화입니다.
Java에서는 추상화를 다음과 같이 수행합니다. 인터페이스 그리고 추상 수업 . 인터페이스를 사용하면 100% 추상화를 달성할 수 있습니다.
문자열에 다음이 포함됨
추상 메서드에는 메서드 선언만 포함되고 구현은 포함되지 않습니다.
Abstract 클래스 데모
자바 //abstract class abstract class GFG{ //abstract methods declaration abstract void add(); abstract void mul(); abstract void div(); }> 기둥 2: 캡슐화
이는 단일 단위로 데이터를 정리하는 것으로 정의됩니다. 이는 코드와 코드가 조작하는 데이터를 함께 묶는 메커니즘입니다. 캡슐화에 대해 생각하는 또 다른 방법은 이 쉴드 외부의 코드가 데이터에 액세스하는 것을 방지하는 보호 쉴드라는 것입니다.
- 기술적으로는 캡슐화 , 클래스의 변수나 데이터는 다른 클래스에서 숨겨지며 선언된 클래스의 멤버 함수를 통해서만 액세스할 수 있습니다.
- 캡슐화에서는 클래스의 데이터가 다른 클래스로부터 숨겨집니다. 데이터 숨김 하다. 따라서 캡슐화와 데이터 숨기기라는 용어는 같은 의미로 사용됩니다.
- 캡슐화는 클래스의 모든 변수를 비공개로 선언하고 클래스에 공개 메서드를 작성하여 변수 값을 설정하고 가져옴으로써 달성할 수 있습니다.
캡슐화 시연:
자바 //Encapsulation using private modifier //Employee class contains private data called employee id and employee name class Employee { private int empid; private String ename; }> 기둥 3: 계승
계승 OOP(객체 지향 프로그래밍)의 중요한 기둥입니다. 이는 한 클래스가 다른 클래스의 기능(필드 및 메소드)을 상속하도록 허용하는 Java의 메커니즘입니다. 우리는 다음을 사용하여 상속을 달성하고 있습니다. 연장하다 예어. 상속은 다음과 같이 알려져 있습니다. is-a 관계.
자바에서 예외 처리란 무엇입니까?
자주 사용되는 몇 가지 중요한 용어에 대해 논의하겠습니다.
- 슈퍼클래스: 기능이 상속된 클래스를 슈퍼클래스(기본 또는 상위 클래스라고도 함)라고 합니다.
- 아강: 다른 클래스를 상속하는 클래스를 하위 클래스(파생 클래스, 확장 클래스 또는 하위 클래스라고도 함)라고 합니다. 하위 클래스는 상위 클래스 필드 및 메서드 외에도 자체 필드 및 메서드를 추가할 수 있습니다.
- 재사용 성: 상속은 재사용성 개념을 지원합니다. 즉, 새 클래스를 만들고 싶고 원하는 코드 일부를 포함하는 클래스가 이미 있는 경우 기존 클래스에서 새 클래스를 파생시킬 수 있습니다. 이렇게 하면 기존 클래스의 필드와 메서드를 재사용할 수 있습니다.
상속 증명 :
자바 //base class or parent class or super class class A{ //parent class methods void method1(){} void method2(){} } //derived class or child class or base class class B extends A{ //Inherits parent class methods //child class methods void method3(){} void method4(){} }> 기둥 4: 다형성
이는 동일한 이름을 가진 엔터티를 효율적으로 구별하는 객체 지향 프로그래밍 언어의 능력을 나타냅니다. 이는 이러한 엔터티의 서명 및 선언을 통해 Java에 의해 수행됩니다. 다양한 형태로 나타나는 능력을 이라고 합니다. 다형성 .
예:
자바 sleep(1000) //millis sleep(1000,2000) //millis,nanos>
메모: Java의 다형성에는 주로 두 가지 유형이 있습니다.
클릭 시 jquery
- 과부하
- 재정의
예
자바 // Java program to Demonstrate Polymorphism // This class will contain // 3 methods with same name, // yet the program will // compile & run successfully public class Sum { // Overloaded sum(). // This sum takes two int parameters public int sum(int x, int y) { return (x + y); } // Overloaded sum(). // This sum takes three int parameters public int sum(int x, int y, int z) { return (x + y + z); } // Overloaded sum(). // This sum takes two double parameters public double sum(double x, double y) { return (x + y); } // Driver code public static void main(String args[]) { Sum s = new Sum(); System.out.println(s.sum(10, 20)); System.out.println(s.sum(10, 20, 30)); System.out.println(s.sum(10.5, 20.5)); } }> 산출
30 60 31.0>
결론
Java의 OOP(객체 지향 프로그래밍) 개념은 코드를 구성하고 작성하는 강력한 방법입니다. 클래스, 객체, 상속, 다형성, 캡슐화 및 추상화와 같은 핵심 아이디어를 사용하여 유연하고 재사용 가능한 코드를 만듭니다. Java OOP 개념을 사용함으로써 프로그래머는 복잡한 애플리케이션을 보다 효율적으로 구축할 수 있으므로 코드를 보다 쉽게 관리, 이해 및 수정할 수 있습니다. 전반적으로 Java의 OOP 개념은 강력하고 확장 가능한 소프트웨어 솔루션을 만드는 데 도움이 됩니다.
Java의 객체 지향 프로그래밍(OOP) 개념 – FAQ
Java의 OOP 개념은 무엇입니까?
OOP(객체 지향 프로그래밍)는 객체 개념을 기반으로 하는 프로그래밍 패러다임으로, 필드(속성 또는 속성) 형태의 데이터와 프로시저(메서드 또는 함수) 형태의 코드를 포함할 수 있습니다. Java에서 OOP 개념에는 캡슐화, 상속, 다형성 및 추상화가 포함됩니다.
Java에서 OOP가 중요한 이유는 무엇입니까?
OOP는 보다 관리하기 쉬운 방식으로 코드를 구성하고 구성하는 데 도움이 되므로 Java 애플리케이션을 더 쉽게 유지 관리하고 확장할 수 있습니다. 또한 코드 재사용성, 모듈성 및 유연성을 촉진하여 효율적이고 강력한 소프트웨어 개발로 이어집니다.
Java에서 OOP의 주요 원칙은 무엇입니까?
Java에서 OOP의 주요 원칙은 캡슐화, 상속, 다형성 및 추상화입니다. 캡슐화는 객체의 내부 상태가 숨겨지고 공개 메소드를 통해서만 액세스할 수 있도록 보장합니다. 상속을 통해 한 클래스가 다른 클래스의 속성과 동작을 상속받을 수 있습니다. 다형성을 통해 객체를 상위 클래스의 인스턴스로 처리할 수 있습니다. 추상화는 구현 세부 사항을 숨기고 필요한 정보만 외부 세계에 표시하는 데 중점을 둡니다.
OOP는 Java에서 어떻게 구현됩니까?
Java에서 OOP는 클래스와 객체를 통해 구현됩니다. 클래스는 해당 클래스의 인스턴스인 객체를 생성하기 위한 청사진 역할을 합니다. 각 객체에는 고유한 속성(변수) 및 메서드(함수) 세트가 있습니다. 캡슐화, 상속, 다형성 및 추상화와 같은 OOP 개념을 따르면 Java 개발자는 잘 구조화되고 유지 관리가 가능한 코드를 설계할 수 있습니다.
Java에서 OOP를 사용하면 어떤 이점이 있나요?
Java에서 OOP를 사용하면 코드 재사용성, 모듈성, 유연성, 확장성 및 손쉬운 유지 관리 등의 이점을 얻을 수 있습니다. OOP를 사용하면 개발자는 실제 엔터티를 개체로 모델링하여 보다 직관적이고 체계적인 코드를 만들 수 있습니다. 또한 Java 애플리케이션의 확장성과 가독성을 향상시키는 상속 및 다형성과 같은 기능도 지원합니다.
Java에서 OOP 개념 구현의 예를 제공할 수 있습니까?
확신하는! Java에서 OOP 개념 구현의 예는 'start()', 'accelerate()' 및 'stop'과 같은 메소드와 함께 'make', 'model' 및 'year'와 같은 속성을 가진 'Car' 클래스를 생성하는 것입니다. ()'. 'Car' 클래스에서 객체를 인스턴스화하고 해당 메서드를 호출함으로써 구조화된 객체 지향 방식으로 다양한 자동차 인스턴스의 동작을 시뮬레이션할 수 있습니다.