다형성 2

인터페이스

인터페이스의 역할 인터페이스는 객체의 사용방법을 정의한 타입 객체의 교환성을 높여주기 때문에 다형성을 구현하는 매우 중요한 역할 자바8의 람다식은 함수적 인터페이스의 구현 객체를 생성 인터페이스는 개발 코드와 객체가 서로 통신하는 접점 역할 개발 코드가 인터페이스의 메소드를 호출 -> 인터페이스는 객체 메소드 호출 개발 코드는 객체의 내부 구조를 알 필요가 없다. 인터페이스의 메소드만 알고 있으면 된다. 개발 코드가 직접 객체의 메소드를 호출 하면 간단 -> 개발코드를 수정하지 않고 사용하는 객체를 변경할수 있도록 하기 위함 인터페이스는 하나의 객체가 아니라 여러 객체들과 사용이 가능 하므로 어떤 객체를 사용하느냐에 따라 실행 내용과 리턴값이 다를 수 있다. 개발 코드 측면에서는 코드 변경 없이 실행 내..

타입 변환과 다형성

다형성 : 같은 타입이지만 실행결과가 다양한 객체를 이용할수 있는 성질 하나의 타입에 여러 객체를 대입함 으로써 다양한 기능을 이용할 수 있도록 해줌 자바는 부모 클래스로 타입 변환을 허용 * 부모 타입에 모든 자식 객체가 대입 될수 있다 -> 객체의 부품화 자동 타입 변환(Promotion) 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것 (자동 타입 변환) 부모클래스 변수 = 자식클래스타입; 바로 위의 부모가 아니더라도 상속 계층에서 상위 타입 이라면 자동 타입 변환이 일어날 수있다. 부모 타입으로 자동 타입 변환된 이후에는 부모 클래스에 선언된 필드와 메소드만 접근이 가능 변수는 자식객체를 참조하지만 변수로 접근 가능한 멤버는 부모 클래스 멤버로만 한정 * but 예외) 메소드가 자식 클래..