생성자(python, java 비교)

혜쿰·2023년 10월 13일
0
post-thumbnail

📗 비교

Python과 Java의 클래스 생성자(constructor)에는 몇 가지 중요한 차이점이 있다.

📎 이름

Python : 클래스 생성자의 이름은 항상 __init__이다. 클래스 내에 __init__ 메서드를 정의하여 초기화 로직을 구현한다.
Java : 클래스 생성자의 이름은 클래스 이름과 동일하다. Java에서는 생성자를 클래스 이름과 동일한 이름으로 정의한다.

📎 상속 및 부모 클래스 생성자 호출

Python : 하위 클래스 생성자에서 부모 클래스의 생성자를 직접 호출할 필요가 없다. Python은 자동으로 부모 클래스의 생성자를 호출한다.
Java : 하위 클래스 생성자에서 명시적으로 super()를 사용하여 부모 클래스의 생성자를 호출해야 한다.

📎 Python 코드

class Animal:
    def __init__(self):
        print('Animal 생성자')
        
    def move(self):
        print('움직이는 생물')
        
class Dog(Animal):
    def __init__(self):
        print('댕댕이 생성자')
    
    def my(self):
        print('난 댕댕이')

dog1 = Dog()

📎 java 코드

class Animal {
    Animal() {
        System.out.println("Animal 생성자");
    }
    
    void move() {
        System.out.println("움직이는 생물");
    }
}

class Dog extends Animal {
    Dog() {
        System.out.println("댕댕이 생성자");
    }
    
    void my() {
        System.out.println("난 댕댕이");
    }
}

public class Main {
    public static void main(String[] args) {
        Dog dog1 = new Dog();
    }
}

0개의 댓글