일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 초보개발자
- 코린이
- 자료형
- ArrayList
- 코딩
- 예외 처리
- 배열
- 자바
- SSR
- 메서드
- 다형성
- 파이팅
- 인터페이스
- FileInputStream
- 백엔드
- MPA
- 상속
- try-catch
- 개발자
- exception
- Java
- 보조 스트림
- 변수
- throws
- 바이트 단위 스트림
- 인스턴스
- 졸리다
- 새벽공부
- node.js
- 문자 단위 스트림
- Today
- Total
목록다형성 (4)
SHUSTORY
인터페이스의 역할 메서드 선언부만 있는 인터페이스를 사용하는 이유는 무엇일까? 인터페이스는 클라이언트 프로그램에 어떤 메서드를 제공하는지 미리 알려주는 명세의 역할을 한다. * 참고로 서버는 기능을 제공하는 쪽, 클라이언트는 기능을 사용하는 쪽을 의미한다. 예를 들어 인퍼에이스 A가 있고, 이를 구현한 B 클래스와 B 클래스를 사용하는 C 프로그램이 있다고 가정해보자. A에는 어떤 매개변수가 사용되며 어떤 자료형이 반환되는지와 함께 구현할 추상 메서드가 모두 선언되어 있다. 즉 C에서는 B의 구현 코드 전체를 살펴보지 않더라도 A만 보면 이 B 클래스를 어떻게 사용할지 알 수 있다. 이렇듯 프로그램에서 각 클래스를 사용할 때 클래스에서 구현한 내용을 몰라도 인터페이스에서 선언한 메서드의 매개변수 자료형과..
인터페이스 인터페이스는 클래스 혹은 프로그램이 제공하는 기능을 명시적으로 선언하는 역할을 한다. 구현된 코드가 없고 추상 메서드와 상수로만 이루어져 있어 인스턴스를 생성할 수 없다. 인터페이스 만들기 이클립스 File - Interface를 클릭하거나 Ctrl + N을 눌러 interface를 클릭해 생성할 수도 있다. 인터페이스에서 선언한 변수는 public static final 예약어를 사용하지 않아도 컴파일 과정에서 상수로 변환된다. 인터페이스에서 선언한 메서드는 구현 코드가 없으며, abstract abstract 예약어를 사용하지 않아도 컴파일 과정에서 추상 메서드로 변환된다. 클래스에서 인터페이스 구현하기 선언한 인터페이스를 클래스가 사용하는 것을 '클래스에서 인터페이스를 구현한다' 라고 표..
다형성을 활용하면 프로그램을 유지보수하는 데 매우 편리하다. 이 때 배열을 함께 사용하면 여러 하위 클래스 자료형을 상위 클래스 자료형으로 한꺼번에 관리할 수 있다. 일반 고객과 VIP 고객의 중간 등급 만들기 [ GOLD 고객 ] 제품을 살 때는 항상 10% 할인해 준다. 보너스 포인트를 2% 적립해 준다. 담당 전문 상담원은 없다. 위 등급의 고객을 Customer 클래스를 상속받아 GoldCustomer 클래스를 만들어 구현해보자. Customer 클래스를 상속받았기 때문에 지불 가격과 보너스 포인트를 계산하는 calcPrice( ) 메서드만 재정의하여 새로운 기능을 쉽게 추가하여 구현할 수 있다. 배열로 고객 5명 구현하기 VIP고객 1명, GOLD고객 2명, SILVER고객 2명을 객체 배열 A..
다형성 다형성이란 하나의 코드가 여러 자료형으로 구현되어 실현되는 것을 의미한다. 쉽게 말해 같은 코드에서 여러 실행 결과가 나오는 것이다. Animal 클래스를 상속받는 Human 클래스 / Tiger 클래스 / Eagle 클래스가 있고, Animal 클래스의 메서드를 하나 정의하고 상속받은 클래스에서 재정의해보자. AnimalTest 클래스를 통해 어떤 인스턴스가 매개변수로 넘어와도 모두 Animal 형으로 변환하도록 한다. 예를 들어 매개변수가 전달되는 부분에 Human 인스턴스가 전달되었다면 다음 코드와 같이 형 변환된다. 가상 메서드의 원리에 따라 animal.move( ) 메서드가 호출하는 메서드는 Animal의 move가 아닌 매개변수로 넘어온 실제 인스턴스의 메서드이다. animal.mov..