다형성(Polymorphism)
영어가 참 어렵죠?? 쓰윽 읽고 넘어갑시다. ㅎㅎ
다형성이란 " 객체가 여러 형태를 가진다" 라는 의미로 해석되며, 하나의 객체가 여러가지 유형으로 사용되는 것을 의미합니다.
-다형성은 상속을 전제조건으로 합니다.
-다형성을 위해 자바는 자식클래스가 부모클래스의 타입을 가질 수 있도록 허용합니다. 즉, 부모 타입에 모든 자식객체가 대입될 수 있습니다.
부모클래스 변수 = new 자식클래스()
이때 부모클래스에 있는 기능만 사용할 수 있지만,
오버라이딩 된 메서드는 먼저 실행됩니다.
왜쓸까요??
부모하나에 자식들을 다 담을수있는 편리성때문에~ 그렇다고 합니다.
오브젝트~ 제일 최상위 개층에 있습니다.. 여기 안에는 모든지 다 넣을수 있습니다.
이종 모음도 다형성의 원리이다.
이종모음(Heterogeneous Collection)
이종모음은 배열에 다형성을 적용시키는 원리입니다. 배열은 원래 동종모음 구조입니다.
예를들어 int[]iArr= new int[10]; 이런 구조의 배열이 있다면 iArr배열에는 int형 정수 데이터만 저장할 수있습니다.
매개변수의 다형성
-promotion은 멤버 변수의 값을 대입할 때도 발생하지만, 메서드를 호출할 때 사용하는 매개 변수에도 발생할 수있습니다.
-보통 메서드를 호출할 때는 메서드 선언부에서 지정한 데이터 타입과 일치하는 매개값을 전달하여 호출하지만, 매개 변수에 다형성을 적용하면 자식 객체를 전달할 수도 있습니다.
클래스 타입 확인!! instanceof 키워드
자바의 키워드 중에서 instaceof 는 객체가 지정한 클래스의 인스턴스인지 아닌지 검사 할때 사용하는 연산자입니다.
instaceof 연산자의 왼쪽 항의 객체가 오른쪽 항 클래스의 인스턴스 즉, 오른쪽 항의 객체가 생성되었다면 true를 리턴하고, 그렇지 않으면 false를 리턴합니다.
수고하셨습니다.