Java 개념 정리9 (생성자, 상속,오버라이딩)

김찬미·2023년 3월 21일

Java

목록 보기
14/20

생성자(Constuctor)

  • 객체가 생성될 때 메모리 할당을 위해 호출되는 영역

  • 생성자는 객체가 생성될 때 오직 처음 한 번만 자동으로 호출된다.

생성자의 특징

  • 클래스와 이름이 완전히 동일하다.

  • 함수와 다르게 대문자로 시작한다. make() -> 함수, Make() -> 생성자

  • 반환형이 없다.

public class ConTest {

	public ConTest() { // 기본 생성자
		System.out.println("저는 기본생성자입니다.");
	}

	public ConTest(String name) {
		System.out.println("name이 " + name + "으로 초기화 됨");
	}

}

생성자를 추가로 정의하는 법

public class Person {
	String name;
	int age;
	String tel;

	public Person() {

	}

	public Person(String name, int age, String tel) {
		this.name = name;
		this.age = age;
		this.tel = tel;
	}

}

상속

  • 부모 클래스의 모든 것을 자식 클래스가 물려받는 것
  • 자식 클래스는 부모 클래스에 있는 요소를 자유롭게 사용할 수 있지만, 부모 클래스는 자식 클래스에 있는 것을 자유롭게 사용할 수 없다.
  • 최상위 클래스는 java.lang.Object

상속하는 방법

public class Child extends Parent {
	// Child 클래스는 Parent 클래스의 자식임을 명시하는 extends 키워드를 사용한다.
	
}

자식 클래스는 *private 요소를 제외한 부모 클래스의 모든 메서드를 상속받는다.

오버라이딩

상속 관계에 있는 부모 클래스에서 이미 정의된 메서드를 자식 클래스에서 재정의하는 것

오버라이딩의 조건

  • 오버라이딩이란 메서드의 동작만을 재정의하는 것으로 메서드의 선언부는 기존 메서드와 완전히 같아야 한다.
  • 부모 클래스의 메서드보다 접근 제어자를 더 좁은 범위로 변경할 수 없다.
  • 부모 클래스의 메서드보다 더 큰 범위의 예외를 선언할 수 없다.
profile
백엔드 지망 학부생

0개의 댓글