Java_05

Java_05

#객체타입의 배열

배열의 타입이 객체

객체명[] 변수명 = {객체, 객체, new 객체명(), new 객체명(), ...}

배열의 값인 객체에서 바로 선언가능

#상속(inheritance)

부모 클래스 --코드--> 자식 클래스

기존에 만든 필드를 새롭게 만들 클래스에서 사용 가능하게 함

public class 클래스명 extends 부모클래스명 { 코드 }

#오버라이딩 - 재정의

부모클래스에서 정의된 메소드를 자식클래스에서 같은 이름으로 재정의하여 사용

오버라이딩 할 때 부모클래스 코드에 더해서 출력하려면 super.메소드()로 사용

super는 부모를 가리킴

@Override

컴퓨터한테 설명하기 위한 어노테이션 주석

해당 메소드가 오버라이딩된 메소드임을 명시적으로 표현

오타를 방지하여 개발의 안정성을 늘림

##캐스팅(Casting) - 형 변환

#up Casting

자식타입을 부모타입으로 변환

부모타입에 자식 값을 넣는 문법

부모클래스 변수명 = new 자식클래스();

부모클래스 필드만 사용가능하다.

자식클래스에서 오버라이딩된 메소드는 오버라이딩된 상태로 사용된다.

#down Casting

업캐스팅된 자식을 다시 자식타입으로 바꾸는 것

자식클래스 변수명 = (자식클래스)부모클래스객체; //이 때 부모클래스객체는 업캐스팅된 객체여야만 한다.

선언시 new를 통하면 데이터의 빈공간이 생기므로 오류가 생긴다.

#Casting 사용 목적

여러 타입을 하나로 묶어서 관리할 수 있다 (배열로 묶기 가능)

같은 부모클래스를 상속받아도 자식클래스끼리는 다르지만

캐스팅을 통해서 부모클래스타입으로 만들면 같은 형태가 된다.

#Object

최상위 클래스

자바 클래스는 기본값으로 java.lang.Object를 상속받는다

Object[] 리스트명 = {값};

리스트안의 값에 대부분의 타입들이 다 들어갈 수 있다

+)자바에서는 모호성이 발생할 수 있기 때문에 다중상속을 지원하지 않음 (c++이나 파이썬은 지원)

#sleep(숫자) 메소드

숫자만큼 실행을 멈춰주는 메소드

Thread클래스 안에 존재

공유하기 글 요소 저작자표시

from http://playpizza.tistory.com/43 by ccl(A) rewrite - 2021-12-06 14:27:42