[TIL] 플레이데이터 인공지능 24기 DAY 93

황예빈·2022년 12월 11일
0

플레이데이터 TIL

목록 보기
8/21
post-thumbnail

Class의 상속

기존 클래스를 사용하는 방법은 객체를 생성하는 방법과 상속하는 방법이 있다.

class 생성할 클래스명{

}
class 생성할 클래스명 extends 상속할부모클래스명{

}

위 처럼 extends 확장자를 통해서 클래스 상속이 가능하다.

사실 자바는 기본적으로 모든 클래스가
객체 활용의 편리성(다형성, 폴리모피즘)을 위해java.lang.Object 라는 최상위 클래스를 부모클래스로
가지고 있다.

다형성이란 조상 유형의 변수로 자손객체를 참조할 수 있는 기능

TV saletv = new SaleTV(300000,"SALETV-1",40,1);
		TV rentaltv = new RentalTV(100000,"RENTALTV-10",42,1);

조상유형인 TV클래스 유형으로 자식 클래스 SaleTV, RentalTV를 참조하고 있다.
만약 다형성이 적용되지 않으면 자식 클래스마다 매소드를 새로 만들어야하는 불편함이 생김

조상 유형의 변수에는 해당조상유형의 객체 뿐만 아니라
자손의 객체를 전달 할 수도 있다.

따라서 부모클래스를 따로 지정하지 않은 클래스는 java.lang의 Object이라는 클래스의 자식이 되고,
extends java.lang.Object라는 코드가 컴파일 시에 클래스 명 뒤에 붙는다.

접근제어자와 활용제어자

🛠️접근제어자

(+)public : 접근을 제한이 없음,
다른 패키지에서도 사용가능

(#)protected : 동일한 패키지 내에 존재하거나 자식클래스에서만 접근 가능

default : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능

(-)private : 자기 자신의 클래스 내에서만 접근이 가능

public > protected > default> private 순으로 접근 범위가 넓다.

🛠️활용제어자

final: final -상수(변할 수 없는 값이 된다)
필드/지역변수, 메서드, 클래스에 붙을 수 있음

abstract: 추상적인(완전하지 않은) 이라는 뜻으로 반드시 부모클래스를 상속받아서만 쓸 수 있다. 메서드나 클래스 앞에 붙는다

static :static으로 지시된 특정한 멤버가 해당 클래스의 인스턴스가 아니라
클래스 자체에 속해 있음을 나타내는 자바 키워드다.
필드,메서드,클래스

profile
Lv. 23

0개의 댓글