on
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