이제 자바의 네 가지 주요 OOP 개념인 추상화, 캡슐화, 상속 및 다형성의 실제 특성을 살펴보겠습니다. 예를 들어 고객 아이디를 저장하는 방법을 정의하고 한 해 동안 판매되는 사과, 복숭아 및 배 수를 추적하는 클래스를 가질 수 있습니다. 보고서 인쇄를 정의하는 다른 클래스를 가질 수도 있습니다. 저장된 데이터에 액세스하여 월, 고객당 또는 특정 시즌 동안 판매되는 사과, 복숭아 및 배에 대한 보고서를 인쇄할 수 있습니다. 커플링은 다른 클래스의 지식이나 정보 또는 종속성을 나타냅니다. 클래스가 서로를 인식할 때 발생합니다. 클래스에 다른 클래스의 세부 정보 정보가 있는 경우 강력한 커플링이 있습니다. Java에서는 개인, 보호 및 공용 수정자를 사용하여 클래스, 메서드 및 필드의 가시성 수준을 표시합니다. 구체적인 구현이 없기 때문에 약한 커플링에 인터페이스를 사용할 수 있습니다. Employee 클래스의 인스턴스를 만들고 사용하는 간단한 예제를 생각해 보십시오. 개체를 통해 연결하는 두 클래스 간에 단방향(HAS-A) 관계가 있을 때 발생합니다.

예를 들어, 모든 승객에게는 자동차가 있지만 자동차에반드시 승객이 있는 것은 아닙니다. 승객 클래스를 선언할 때 승객이 속한 차량을 표시하는 자동차 유형 필드를 만들 수 있습니다. 그런 다음 새 승객 개체를 인스턴스화하면 관련 자동차에 저장된 데이터에도 액세스할 수 있습니다. 캡슐화는 데이터와 코드를 단일 단위로 함께 바인딩하는 메커니즘입니다. 또한 수정으로부터 안전하게 데이터를 숨기는 것을 의미합니다. 이것은 무엇을 의미합니까? 캡슐화를 이해하는 가장 좋은 방법은 의료 캡슐의 예를 보는 것입니다, 여기서 약물은 캡슐 내부에 항상 안전. 마찬가지로 캡슐화를 통해 클래스의 메서드와 변수는 잘 숨겨져 있고 안전합니다. 다형성은 다른 방법으로 특정 작업을 수행 할 수있는 능력을 의미한다. Java에서 다형성은 메서드 오버로드 및 메서드 재정의라는 두 가지 형태를 취할 수 있습니다.

메서드 오버로드는 이름이 같은 다양한 메서드가 클래스에 있을 때 발생합니다. 호출될 때 매개 변수의 수, 순서 및 유형으로 구분됩니다. 메서드 재정의는 자식 클래스가 상위 메서드를 재정의할 때 발생합니다. 이 예제에서는 String 클래스의 명시적 사용이 표시되지 않지만 Java 언어에서는 메서드가 String 개체를 수신할 것으로 예상되는 모든 위치에 문자열문자열을 사용할 수 있습니다. 실행 하는 동안 Java 플랫폼은 System.out.println 호출에 전달 된 문자 문자열에서 String 개체를 만듭니다만 문자열 개체를 인스턴스화 하지 않았기 때문에 프로그램에서 String 클래스 메서드를 호출할 수 없습니다. 인기있는 객체 지향 언어는 자바, C #, PHP, 파이썬, C ++등입니다. 나는 너희들이 우리가 상속, 캡슐화, 추상화 및 다형성 위에 논의 한 모든 객체 지향 프로그래밍 개념으로 명확바랍니다. 이제 Java OoPs 개념을 사용하여 Java 응용 프로그램을 보다 안전하고 간단하며 다시 사용할 수 있도록 할 수 있습니다.