본문 바로가기

JAVA/자바의 신

3장 객체지향

자바는 객체지향 언어

Object Oriented Language

 

코드는 class

 

 

실제 사물을 나타내기 위한 것:

객체 또는 인스턴스

 

기본 생성자는 javac Car.java 하면.. 컴파일 할때 Car.class 안에 자동으로 코드가 생성된다.

 

 

클래스와 객체의 차이점?

클래스:

객체를 생성하기 위한 청사진.

클래스는 데이터의 구조, 기능을 정의.

추상적 개념. 메모리에 존재하지 않는다.

구성 요소: field 변수, method 함수, 생성자

 

객체:

클래스로부터 생성된 실체 instance.

객체는 클래스에서 정의된 구조, 기능을 실제로 구현.

작업을 수행.

메모리 상에 존재하며, 구체적 값을 가짐.

구성 요소: 클래스 멤버 변수, 클래스 method 사용 가능.

 

 

객체를 생성하기 위해 사용되는 예약어?

new

 

 

 

객체와 인스턴스의 차이?

public class Car {
    private String color;
    private String model;

    public Car(String color, String model) {
        this.color = color;
        this.model = model;
    }

    public void displayDetails() {
        System.out.println("Color: " + color + ", Model: " + model);
    }

    public static void main(String[] args) {
        Car myCar = new Car("Red", "Toyota"); // 객체 생성
        myCar.displayDetails(); // 객체 사용
    }
}

객체라는 단어가 인스턴스보다 범위가 넓다.

객체:

class 를 구체화 시킨 것이 객체.

 

인스턴스:

Car 라는 class를 객체를 만들면 myCar라는 이름을 가진 인스턴스 생성.

 

객체의 메소드를 사용하려면, 객체이름?메소드이름 사이에 무엇을 넣어야 하는가?

.

 

메소드를 사용하기 위해서는 어떤 것을 만들어야 하나?

1. 객체를 만들어서 . 으로 접근해서 메서드를 사용한다.

2. 정적 클래스라면 .으로 접근해서 메서드를 사용한다.

 

  • 인스턴스 메소드(instance method) 사용:
    • 인스턴스 메소드는 클래스의 인스턴스를 생성해야 사용할 수 있는 메소드입니다.
public class Car {
    private String color;
    private String model;

    // 생성자
    public Car(String color, String model) {
        this.color = color;
        this.model = model;
    }

    // 인스턴스 메소드
    public void displayDetails() {
        System.out.println("Color: " + color + ", Model: " + model);
    }

    public static void main(String[] args) {
        // Car 클래스의 객체 생성
        Car myCar = new Car("Red", "Toyota");

        // 인스턴스 메소드 호출
        myCar.displayDetails(); // 출력: Color: Red, Model: Toyota
    }
}
  • 정적 메소드(static method) 사용:
    • 정적 메소드는 클래스의 인스턴스를 생성하지 않고 클래스 이름을 통해 직접 호출할 수 있는 메소드입니다.

 

public class MathUtils {
    // 정적 메소드
    public static int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        // 정적 메소드 호출
        int sum = MathUtils.add(5, 3);
        System.out.println("Sum: " + sum); // 출력: Sum: 8
    }
}

'JAVA > 자바의 신' 카테고리의 다른 글

14장 예외  (0) 2024.07.23
4장 변수  (0) 2024.07.22
2장 컴파일  (0) 2024.07.22
1장 프로그래밍이란 무엇인가?  (0) 2024.07.22