Java 및 객체 지향 프로그래밍[#1]

4066 단어 javadsabeginnersoop

객체 지향 프로그래밍(OOP)이란 무엇입니까?



이것은 데이터와 코드를 포함할 수 있는 개체의 개념을 기반으로 하는 프로그래밍 패러다임입니다. 데이터는 특성 또는 속성이라고도 하는 필드 형식이고 메서드라고도 하는 프로시저 형식의 코드입니다.

C++, Javascript 및 Python과 같이 가장 널리 사용되는 많은 프로그래밍 언어, 즉 일부는 Java 이외의 객체 지향 프로그래밍을 구현합니다.

객체란 무엇입니까?



개체는 항상 클래스의 인스턴스라고 하며 상태와 동작이 있습니다. 예를 들어, 개는 다음을 가진 개체입니다.
  • 상태: 이름, 품종, 색상 등
  • 행동: 짖기, 뛰기, 잠자기 등

  • 수업



    Java의 클래스는 개체의 청사진이며 개체를 만들기 전에 먼저 클래스를 정의해야 합니다.

    클래스를 집의 스케치(프로토타입)라고 생각하면 여기에는 창문, 바닥, 문 등에 대한 모든 세부 정보가 포함됩니다. 이러한 설명을 바탕으로 우리는 집을 짓고 따라서 집이 대상입니다.

    NB: 클래스에 대한 동일한 설명을 기반으로 많은 다른 주택을 만들 수 있습니다.

    자바에서 클래스 만들기



    class 키워드를 사용하여 Java에서 클래스를 만들 수 있습니다. 와 같은

    class className {
        // fields
        // nethods
    }
    


    여기에서 필드와 메서드는 각각 개체의 상태와 동작을 나타냅니다.
  • 필드가 데이터를 저장하는 데 사용됨
  • 메서드가 일부 작업을 수행하는 데 사용됨

  • 우리의 자동차 개체 우리는 클래스를 만들 수 있습니다

    class Car {
        // state or field
        String name;
        int manufacturer;
        String color;
    
        // behavior or method
        void braking() {
            System.out.println("Car is braking");
       }
    
       void speeding() {
            System.out.println("Car is speeding");
       }
    }
    
    


  • 위의 예에서 필드 이름, 제조업체, 색상 및 brake(), speeding() 메서드가 있는 Car라는 클래스를 만들었습니다.
  • 자동차는 프로토타입이며 이제 프로토타입을 사용하여 자동차를 얼마든지 만들 수 있습니다. 모든 자전거는 프로토타입의 필드와 방법을 공유합니다.

  • 자바 객체



    개체는 클래스의 인스턴스입니다. 우리가 생성한 Car라는 클래스는 sportsCar, suvCar 및 f1Car를 해당 클래스의 개체로 간주할 수 있습니다.

    자바에서 객체 생성



    이것이 자바에서 클래스의 객체가 생성되는 방식입니다.

    className objectName = new className();
    
    // for Car class
    Car sportsCar = new Car();
    
    Car suvCar = new Car();
    
    // sportsCar and suvCar are the names of the objects.
    


    객체를 생성하기 위해 클래스의 생성자와 함께 new 키워드를 사용하는 것을 관찰해 봅시다. 생성자는 메서드와 거의 동일하며 반환 유형이 없다는 점만 클래스와 동일한 이름을 사용합니다. 예를 들어;

    class Car {
        Car() {
        // constructor body
     }
    }
    
    // Car() is a constructor and doesn't have a return type
    


    클래스의 멤버에 액세스



    개체의 이름은 와 함께 있습니다. (점 연산자) 클래스의 멤버에 액세스할 수 있습니다. 예를 들어;

    class Car {
        // state or field
        String name;
        int manufacturer;
        String color;
    
        // behavior or method
        void braking() {
            System.out.println("Car is braking");
       }
    
       void speeding() {
            System.out.println("Car is speeding");
       }
    }
    
    // create object named suvCar
    Car suvCar = new Car();
    
    // access fields
    suvCar.name;
    suvCar.maufacturer;
    
    // access methods
    suvCar.speeding();
    
    


    여기에서 이 클래스의 필드와 메서드에 액세스할 수 있습니다.

    이제 클래스와 객체가 무엇인지 이해할 수 있습니다. 완전히 작동하는 예를 살펴보겠습니다.

    class Lamp {
    
      // stores the value for light
      // true if light is on
      // false if light is off
      boolean isOn;
    
      // method to turn on the light
      void turnOn() {
        isOn = true;
        System.out.println("Light on? " + isOn);
    
      }
    
      // method to turnoff the light
      void turnOff() {
        isOn = false;
        System.out.println("Light on? " + isOn);
      }
    }
    
    class Main {
      public static void main(String[] args) {
    
        // create objects led and halogen
        Lamp led = new Lamp();
        Lamp halogen = new Lamp();
    
        // turn on the light by
        // calling method turnOn()
        led.turnOn();
    
        // turn off the light by
        // calling method turnOff()
        halogen.turnOff();
      }
    }
    


    산출:

    Light on? true
    Light on? false
    


    다음 파트에서는 ​​메서드, 오버로딩 및 생성자를 살펴보겠습니다.
    나중에 추상화, 캡슐화, 상속 및 다형성과 같은 개념을 살펴보겠습니다.

    객체 지향 프로그래밍에 대한 더 깊고 자세한 설명을 보려면 이 멋진 재생 목록을 확인하세요.
    쿠날 쿠슈와하.

    , github에서 저에게 연락해 주시면 감사하겠습니다.

    좋은 웹페이지 즐겨찾기