Contents
요약~class Person {
private String name;
private int age;
// 매개 변수가 있는 생성자만 정의함
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String[] args) {
Person person = new Person(); //컴파일 에러 발생!
}
}파라미터가 없는 생성자를 작성하지 않고 파라미터가 없는 생성자를 호출하면
오류가 발생한다.
클래스 내의 this()는 나 자신의 생성자를 뜻함
this(a,b)는 파라미터 2개 들어간 생성자
this.a는 멤버변수
class Parent {
private String name;
public Parent(String name) {
this.name = name;
}
}
class Child extends Parent {
public Child() {
//컴파일 에러 발생 : 부모클래스의 기본 생성자가 없기때문에
//super() 호출이 실패함
super(); //여기서 오류 발생
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
}
}클래스는 클래스명이 아닌 다른 이름으로 작성된 기능함수
요약~
1. 메서드는 변수 아래에 위치하고 함수처럼 쓴다
메서드는 함수이다.
입력값과 리턴값의 유무를 잘 파악하고 이름이 클래스와 같은지 볼 것
2. 객체를 초기화 할 때는 생성자 라는 것을 쓴다
생성자는 클래스 이름과 똑같은 함수이며, 여러가지 입력값을 받을 수 있음
*입력값이 비어있을 수도 있다
3. 생성자와 멤버변수를 부를 때 같은 키워드를 쓰니 주의하자
this.변수 → 멤버변수
this() → 생성자
super.변수 → 부모 변수
super() → 부모 생성자
Share article