JAVA

자바 메소드(Method) 예제 (메소드 상속(Inheritance))

KSJ IT 2018. 8. 27. 17:39

유익하셨다면 광고 한번씩만 클릭해주시면 감사하겠습니다.

반응형


public abstract class MessageSender {

// 제목

String title;   

// 보내는 사람

String senderName;   

// default 생성자

// 생성자를 생성하지 않으면 자동으로 생성되는 생성자.

MessageSender(){} 

MessageSender(String title, String senderName){

this.title = title;

this.senderName = senderName;

}

// 메시지를 전송한다. (메소드)

abstract void sendMessage(String recipient);           // 추상 메소드 (로직(바디부분)이 없다)

       // 추상 클래스라고 해서 추상메소드만 가질수 있는건 아니다.

       // 일반 메소드를 생성해도 상관은 없다.

void disp() {

}

}


----------------------------------------------------------------------------------------------------------------------------------------


public class SMSSender extends MessageSender{    // 위에서 만든 MessageSender 를 상속받아서 사용

String returnPhoneNo;

String message;

SMSSender(String title, String senderName, String returnPhoneNo, String message){

super(title, senderName);

this.returnPhoneNo = returnPhoneNo;

this.message = message;

}


        // 상속받은 부모클래스에서 추상메소드로 선언을 해놓았기 때문에 Overried해서 사용

@Override

void sendMessage(String recipient) {

System.out.println("========== 문자 메세지를 전송 ==========");

System.out.println("제    목 : " + title);

System.out.println("발 신 자 : " + senderName);

System.out.println("수 신 자 : " + recipient);

System.out.println("회신전화 : " + returnPhoneNo);

System.out.println("메 시 지 : " + message);

System.out.println();

}


}


----------------------------------------------------------------------------------------------------------------------------------------


// 위의 두개의 메소드를 이용한 MessageSendMain 클래스

public static void main(String[] args) {

SMSSender sms1 = new SMSSender("결제완료", "12번가", "02-1234-2345", "고객님께서 주문하신 상품이 

              결제완료되었습니다.");


SMSSender sms2 = new SMSSender("배송완료", "12번가", "02-1234-2345", "고객님께서 주문하신 상품이 

    배송완료되었습니다.");


System.out.println();

send(sms1, "010-1234-5678");

send(sms2, "010-1234-5678");


}

public static void send(MessageSender ms, String recipient) {

ms.sendMessage(recipient);

}






반응형