본문 바로가기
반응형

자바4

[JAVA] 다형성 활용하기 이전 글에서 사용했던 것과 같이 상속과 다형성을 활용한다면 프로그램을 유지 보수하는데 매우 편리합니다. 그리고 이때 배열을 함께 사용함으로써 여러 하위 클래스 자료형을 상위 클래스 자료형으로 한꺼번에 관리가 가능합니다. 예제를 하나 해보겠습니다. 예제 : 일반 고객과 VIP 고객의 중간 등급 만들기 시나리오 : 고객이 증가하여 VIP 고객만큼 물건을 많이 구매하지는 않지만, 그래도 단골인 분들에게 혜택을 주기 위해서 GOLD 고객 등급을 부여하고 싶습니다. GOLD 고객의 혜택은 다음과 같습니다. 제품을 살 때는 항상 10% 할인. 2%의 보너스 포인트 적립 담당 전문 상담원은 없음. 해당 시나리오를 만족하기 위해서 기존에 존재하던 VIP 클래스와 같이 새로운 고객 등급을 구현해야 합니다. 해당 등급은 .. 2021. 7. 9.
[JAVA] 다형성이란 다형성 (Polymorphism) : 하나의 코드가 여러 자료형으로 구현되어 실행되는 것을 의미합니다. 좀 더 쉽게 의미한다면 실행 결과가 여러 가지로 나오는 것입니다. 그림과 같이 3개의 클래스가 Animal 클래스를 상속받고 있다. 이때 Animal 클래스에서도 메서드 하나를 정의하고 상속받은 클래스에서 재정의를 수행하는데 이를 코드로 구현해봅시다. package polymorphism; class Animal { public void move() { System.out.println("동물이 움직입니다."); } } class Human extends Animal { public void move() { System.out.println("사람이 두 발로 걷습니다. "); } } class Tige.. 2021. 7. 3.
[JAVA] 상속에서 클래스 생성과 형 변환 하위 클래스가 생성될 때는 항상 상위 클래스의 생성자가 먼저 호출되게 됩니다. 상속 관계에서 클래스의 생성 과정을 살펴보면 하위 클래스가 상위 클래스의 변수와 메서드를 사용할 수 있는 이유와 하위 클래스가 상위 클래스의 자료형으로 형 변환을 할 수 있는 이유를 이해할 수 있습니다. 하위 클래스가 생성되는 과정 상속을 받은 하위 클래스는 상위 클래스의 변수와 메서드를 사용 가능합니다. 변수를 사용할수있다는 것은 그 변수를 저장하고 있는 메모리가 존재한다는 뜻입니다. 그러나 이전에 적었던 VIPCustomer 클래스의 코드를 보면 해당 변수가 존재하지 않습니다. Customer 클래스를 상속받았을 뿐입니다. 여기서 우리는 상속된 하위 클래스가 생성되는 과정을 다시 생각해볼 필요가 있습니다. 테스트를 위해서 .. 2021. 6. 26.
[JAVA] 상속이란? 객체 지향 프로그래밍에서 중요한 특징 중 하나로 상속이라는 개념이 있습니다. 상속은 단어 자체로 무엇인가를 물려받는다는 의미를 지녔습니다. 예를 들어서 부모가 자식에게 물려주는 재산을 상속이라고 할 때 부모에게 재산을 받으면 상속받은 재산을 자신의 것으로 사용이 가능해집니다. 즉 객체 지향 프로그램에서도 마찬가지입니다. 즉 B 클래스가 A 클래스로 부터 상속을 받게 되면 B 클래스는 A의 클래스 멤버 변수와 메서드를 사용 가능해집니다. 객체 지향 프로그램은 유지 보수하기 편하고 프로그램을 수정하거나 새로운 내용을 추가하는 것이 유연한데, 그 기반이 되는 기술이 바로 상속이기 때문입니다. 클래스의 상속 상속을 그림으로 표현할때는 다음과 같이 표현합니다. 보통은 화살표를 보고 B 클래스가 A 클래스에게 상속.. 2021. 6. 26.
반응형