본문 바로가기

객체지향 프로그래밍4

53.객체지향 프로그래밍 방식, 람다식 구현 방식 비교 객체 지향 프로그래밍과 람다식 비교 - 문자열 두 개를 연결하여 출력하는 예제를 두 가지 방식으로 구현해 보자 예제 - StringConcat.java(interface) public interface StringConcat { public void makeString(String s1, String s2); } - StringConcatImpl.java public class StringConcatImpl implements StringConcat{ @Override public void makeString(String s1, String s2) { System.out.println(s1+","+s2); } } - StringConcatTest.java public class StringConcatTe.. 2022. 6. 1.
41.T extends 클래스 상위 클래스의 필요성 - T 자료형의 범위를 제한 할 수 있음 - 상위 클래스에서 선언하거나 정의하는 메서드를 활용할 수 있음 - 상속을 받지 않는 경우 T는 Object로 변환되어 Object 클래스가 기본으로 제공하는 메서드만 사용가능 T extneds 를 사용한 프로그래밍 - GenericPrinter 에 material 변수의 자료형을 상속받아 구현 - T에 무작위 클래스가 들어갈 수 없게 Material 클래스를 상속받은 클래스로 한정 2022. 5. 27.
23.상속을 활용한 멤버십 클래스 구현 시나리오 - 회사에서 고객 정보를 활용한 맞춤 서비스를 하기 위해 일반고객(Customer)과 이보다 충성도가 높은 우수고객(VipCustomer)에 따른 서비스를 제공하고자 함 - 물품을 구매 할때 적용되는 할인율과 적립되는 보너스 포인트의 비율이 다름 - 여러 멤버십에 대한 각각 다양한 서비스를 제공할 수 있음 - 멤버십에 대한 구현을 클래스 상속을 활용하여 구현 일반 고객(Customer) 클래스 구현 - 고객의 속성 : 고객 아이디, 고객 이름, 고객 등급, 보너스 포인트, 보너스 포인트 적립비율 - 일반 고객의 경우 물품 구매시 1%의 보너스 포인트 적립 public class Customer { protected int customerID; protected String customerName.. 2022. 5. 23.
13.객체 간의 협력(collabration) 객체 지향 프로그래밍에서의 협력 - 객체 지향 프로그램에서 객체 간에는 협력이 이루어짐 - 협력을 위해서는 필요한 메세지를 전송하고 이를 처리하는 기능이 구현되어야 함 - 매개 변수로 객체가 전달되는 경우가 발생 - 객체 협력의 예 학생 : 이름,학년,가진 돈 버스 : 버스번호, 승객 수, 수입 지하철 : 노선번호, 승객 수, 수입 학생 ->(버스를 탄다) 버스 학생 ->(지하철을 탄다) 지하철 예제 - 김씨와 이씨는 각각 버스와 지하철을 타고 학교에 간다. - 김씨는 5000원을 가지고 있었고, 100번 버스를 타면서 1000원을 지불한다. - 이씨는 10000원을 가지고 있었고, 초록색 지하철을 타면서 1200원을 지불한다. 두 학생이 버스와 지하철을 타는 상황을 구현 - Student.java pu.. 2022. 5. 22.