Java OOP 개념

18303 단어 oopjava

Java의 클래스


클래스는 공통 속성을 가진 객체 그룹입니다.이것은 대상을 만드는 템플릿이나 청사진입니다.
//Creating Student class.  
class Student{  
 int id;  
 String name;  
}

Java의 정적


정태는 하나의 키워드다.만약 이 키워드가 함수 이름 앞에 접두사를 붙인다면, 이 함수는 정적 함수이다.만약 방법/함수가 정적이라면, 어느 곳에서든 접근할 수 있습니다.
그러나 방법이 정적이 아니라면 실행하거나 접근할 수 없습니다.다음과 같습니다.
public static void main(String[] args) { 
}
이곳의 주요 방법은 정태적이기 때문에 그것은 정태적인 방법이다
하지만 다음 방법 중 하나는
void calling() { 
}
이것은 정태적인 것이 아니라 비정태적인 방법의 하나다.그래서 우리는 그것을 운행할 수 없다.프로그램을 실행하려면,main 방법을 실행해야 합니다.main 방법에서static를 제거하면,main 방법은 항상 정적이며,main 방법은 실행되지 않습니다.정적 상태이므로 bellow와 같은 정적 방법에서는 비정적 방법을 사용할 수 없습니다.
public static void main(String[] args) { 
      calling();
}
그러나 우리는 비정상적인 방법(예를 들어bellow)에서 정적 방법을 호출하거나 접근할 수 있다.
static void fun() {

}
void calling() { 
  fun();
}
그래서 정적 방법에서 그것을 사용하는 방법이 있다.
에서 객체를 작성합니다.따라서 객체(예: bellow)를 통해 정적 메서드에 액세스하려면 객체를 작성해야 합니다.
public static void main(String[] args) { 
    Main obj = new Main(); // so here i'm creating object for my class .
    obj.calling();        // Here calling it through the object.
} 

void calling() { 

}

So this way we can use non-static method or function.


함수/메소드 재로드


만약 내가 같은 이름의 함수/방법이 여러 개 있다면, 그것은 방법/함수 재부팅이라고 하고, 다른 매개 변수 abd가 있어야 한다.또는 매개 변수의 종류가 다르고 int나string을 표시해야 합니다.예를 들어 베로:
static void fun(int a) {
      System.out.println();
  }

    static void fun(String a) {
        System.out.println();        
  }

건설자


Java에서 구조 함수는 메서드와 유사한 코드 블록입니다.클래스의 실례를 만들 때 호출합니다.다음과 같습니다.
Public class MyClass {
   Int num;
   MyClass() {
      num = 100;
   }
}

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.num + " " + t2.num);
   }
}

상속권


Java의 상속은 상위 객체의 모든 속성과 동작을 가져오는 메커니즘입니다.상속은 IS-A 관계를 나타내며 모/자 관계라고도 합니다.
class Employee{  
 float salary=40000;  
} 

class Programmer extends Employee{  
 int bonus=10000;  
 public static void main(String args[]){  
   Programmer p=new Programmer();  
   System.out.println("Programmer salary is:"+p.salary);  
   System.out.println("Bonus of Programmer is:"+p.bonus);  
   }  
}
여기에서, Employee 클래스의 값에 접근하기 위해서,main 클래스나 destination 클래스에서 extends 키워드를 사용해야 합니다

유전 유형

  • 단일 상속:
  • One class extends another class

  • 다단계 계승:
  • One class can inherit from derived class and derived class will become parent for another new class

  • 다중 계승:
  • Once class extends more than one class then it's called multiple inheritance. Java does not support multiple inheritance. We can do this in interfaces.

  • 차원 계승:
  • One class is inherited by multiple classes.

  • 교잡유전:
  • Combination of single and multiple inheritance. Java don't have hybrid inheritance.


    다태성


    다태성은 하나의 실체나 프로젝트를 나타내는 여러 방식을 의미한다.Types of Polymorphism :
  • 컴파일 시간이나 정적입니다.
  • 런타임 또는 동적입니다.
  • 압도하다


    다시 쓰는 것은 하위 클래스나 하위 클래스가 이미 하위 클래스나 하위 클래스 중 하나가 제공한 방법의 특정한 실현을 허용하는 기능이다.하위 클래스의 방법이 하위 클래스의 방법과 같은 명칭, 같은 매개 변수나 서명, 같은 반환 형식 (또는 하위 유형) 을 가지고 있을 때 하위 클래스의 방법은 하위 클래스를 다시 쓰는 방법이라고 부른다.
  • 정적 메소드를 다시 쓸 수 없음
    정적 방법이 호출되고 대상에 의존하지 않기 때문에 다시 쓸 수 없습니다
  • 무시는 객체에 따라 다릅니다.
  • 인스턴스 변수

  • 클래스 내에서 선언되지만 그 어떠한 방법도 범위에 있지 않은 변수를 자바에서 실례 변수라고 부른다.
  • 실례 변수는 클래스를 불러올 때나 클래스를 만들 때 초기화됩니다.
  • 자바에서 사용할 수 있는 다양한 접근 수식자 (예:default,private,public,protected) 를 사용하여 실례 변수를 설명할 수 있습니다.
  • 리셋과 리셋은 실례 변수에 적용되지 않습니다.

  • 봉인


    봉인은 코드와 데이터를 한 단원에 포장하는 과정이다.

    Java 패키지의 이점

  • setter나getter 방법만 제공함으로써 클래스를 읽거나 쓰기만 할 수 있습니다.다시 말하면 Getter나setter 방법을 건너뛸 수 있다.
  • 이것은 자바에서 데이터를 숨기는 방법이다. 다른 클래스는 개인 데이터 구성원을 통해 데이터에 접근할 수 없기 때문이다.
  • //A Java class which is a fully encapsulated class.  
    //It has a private data member and getter and setter methods.  
    package com.javatpoint;  
    public class Student{  
    //private data member  
    private String name;  
    //getter method for name  
    public String getName(){  
    return name;  
    }  
    //setter method for name  
    public void setName(String name){  
    this.name=name  
    }  
    }
    
    //A Java class to test the encapsulated class.  
    package com.javatpoint;  
    class Test{  
    public static void main(String[] args){  
    //creating instance of the encapsulated class  
    Student s=new Student();  
    //setting value in the name member  
    s.setName("hi");  
    //getting value of the name member  
    System.out.println(s.getName());  
    }  
    }
    

    추상


    데이터 추상은 일부 세부 사항을 숨기고 사용자에게 기본 정보만 보여주는 과정이다.추상은 추상류나 인터페이스를 통해 실현할 수 있다.

    Abstract class: is a restricted class that cannot be used to create objects (to access it, it must be inherited from another class).

    Abstract method: can only be used in an abstract class, and it does not have a body.


    abstract class Animal {
      public abstract void animalSound();
      public void sleep() {
        System.out.println("Zzz");
      }
    }
    

    개인적


    private 키워드는 속성, 방법, 구조 함수에 사용되며, 성명된 클래스에서만 접근할 수 있습니다.

    If we make any class constructor private, we cannot create the instance of that class from outside the class.


    공개적이었어


    public 키워드는 클래스, 속성, 방법, 구조 함수에 사용되며, 다른 클래스에 접근할 수 있습니다.

    보호했어


    보호된 키워드는 속성, 방법, 구조 함수에 사용되며, 같은 패키지와 하위 클래스에서 접근할 수 있도록 하는 접근 수식자입니다.

    수식어 규칙



    Here '+' means accessible & 'blank' means not accessible.


    Java 패키지

  • 랑.
  • io.
  • util.
  • 애플릿.
  • awt.
  • 순액.
  • hashCode()


    hashCode() 메서드는 입력한 해시 코드를 반환하는 Java 정수 클래스 메서드입니다.그것은 기본적으로 무작위 수를 제시했다.

    추상적인 방법의 몇 가지 문제

  • 추상적인 방법에서 우리는 정적 구조 함수를 만들 수 없다.
  • 우리는 추상적인 정적 방법을 만들 수 없다.
  • 우리는 추상 클래스에서 정적 방법을 만들 수 있다.
  • 만약에 그 중의 한 방법이 추상적이라면 종류도 추상적이어야 한다.
    ___
  • 이음매


    인터페이스는 Java의 참조 유형입니다.이것은 교실과 매우 비슷하다.그것은 추상적인 방법의 집합이다.클래스가 인터페이스를 실현했다.

    결승전


    java의 마지막 키워드는 사용자를 제한하는 데 사용됩니다.
    모든 변수를final로 설정하면final 변수의 값을 변경할 수 없습니다.

    정적 인터페이스법의 몇 가지 문제

  • 정적 인터페이스 방법은 시종 주체를 가져야 한다.
  • public interface A {
    
        static void greeting(){
            System.out.println("I am in A");
    
        }
    }
    
  • 우리는 인터페이스 이름을 통해 그것을 호출해야 한다.
  • public class Main {
        public static void main(String[] args) {
             // Here we created a object
             Main obj = new Main();
                     // Here we called it via interface name
             A.greeting();
        }
    }
    

    네스트된 인터페이스


    다른 인터페이스나 클래스에서 설명된 인터페이스를 플러그인 인터페이스라고 부른다.
  • 인터페이스에 표시된 플러그인 인터페이스는 반드시 공공이어야 한다.
  • public class A {
        public interface NestedInterface {
            boolean isodd(int num);
        }
    }
    
    
    class B implements A.NestedInterface {
    
        @Override
        public boolean isodd(int num) {
            return (num & 1) == 1;
        }
    
    }
    
  • 클래스에 표시된 플러그인 인터페이스는 모든 접근 수식자가 있을 수 있음
  • These are some OOP concepts. 😀

    좋은 웹페이지 즐겨찾기