• 회원가입
  • 로그인
  • 구글아이디로 로그인

[class] Java - Polymorphism (다형성)

1,028  
목차
  1. 다형성 (Polymorphism) 정의
  2. 다형성 예제1 - 부모 메서드와 동일명의 자식 메서드
  3. 다형성 예제2 - 사용자 입력값 따라 다른 작업 수행

 

다형성 (Polymorphism) 정의

 

1. 

다형성 (Polymorphism) : "다양한 형태" 의미.

즉,

상속 통해 서로 관련된 많은 클래스 있을 때,

부모 (메서드・속성)으로 다른 작업을 수행.

※ 부모 클래스 변수에 자식 클래스의 인스턴스 할당.

※ 부모 클래스 배열변수에 자식클래스 인스턴스 담아 사용할 때 유용.

 

2.

장점 : 기존 코드 재사용 통해, 작업 세분화 가능. 

 

 

다형성 예제1 - 부모 메서드와 동일명의 자식 메서드

 

Coding 부모클래스에 studyCoding 메서드 있을 때,

하위 클래스에서 동일 메서드로 다른 작업 수행 가능.



1. C:\Users\사용자명\Hz.java 생성.

class Coding {

  public void studyCoding() {

    System.out.println("코딩언어 강의");

  }

}


class Html extends Coding{

  public void studyCoding() {

    System.out.println("HTML : 기본틀");

  }

}


class Css extends Coding {

  public void studyCoding() {

    System.out.println("CSS : 디자인");

  }

}


class Hz {

  public static void main(String[] args) {

    Coding coding = new Coding();

    Coding html = new Html(); // 다형성

    Coding css = new Css(); // 다형성

        

    coding.studyCoding();

    html.studyCoding();

    css.studyCoding();

  }

}

 


2. Hz.java 컴파일. 

 

C:\Users\사용자명>javac -encoding UTF-8 Hz.java

 


3. Hz 클래스 실행.

 

C:\Users\aspire>java Hz

 

결과값:

코딩언어 강의

HTML : 기본틀

CSS : 디자인

 

다형성 예제2 - 사용자 입력값 따라 다른 작업 수행

 

사용자 입력값에 따라 동일 메서드로 다른 작업 수행.

 


1. C:\Users\사용자명\Hz.java 생성.

 

import java.util.Scanner;


class Coding {

  public void studyCoding() {

    System.out.println("코딩언어 강의");

  }

}


class Html extends Coding {

  public void studyCoding() {

    System.out.println("HTML : 기본틀");

  }

}


class Css extends Coding {

  public void studyCoding() {

    System.out.println("CSS : 디자인");

  }

}


class Hz {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        System.out.print("HTML: 1, CSS: 2 ?");

        int input = scanner.nextInt();


        Coding coding;

        if(input == 1) {

            coding = new Html();

            coding.studyCoding();

        } else if (input == 2) {

            coding = new Css();

            coding.studyCoding();

        }

    }

}

 


2. Hz.java 컴파일. 

 

C:\Users\사용자명>javac -encoding UTF-8 Hz.java

 


3. Hz 클래스 실행.

 

C:\Users\aspire>java Hz

 

결과값:

사용자가 1입력 시 : HTML : 기본틀

사용자가 2입력 시 : CSS : 디자인 



분류 제목
String Java - equals() 메서드 -두 문자열의 동일 여부 비교.
String Java - equalsIgnoreCase() 메서드 - 대소문자 구별 없이 문자열 동일 여부 비교.
String Java - format() 메서드 ★★★ - 문자열 포맷 (= format메서드 = 포맷 메서드)
String Java - getBytes() 메서드 - 문자열의 바이트(byte) 배열 반환 (= getBytes메서드 …
String Java - getChars() 메서드 - 문자열에서 문자 배열로 단일문자를 복사.
String Java - hashCode() 메서드 - 문자열의 해시코드 반환 (= hashCode메서드 = 해시코드메서…
String Java - indexOf() 메서드 - 문자열에서 지정 문자의 처음 발견 위치의 색인번호 반환
String Java - intern() 메서드 △ - 지정 색인부터 검색 시작해, 지정 문자가 처음 나타나는 색인 반…
String Java - isEmpty() 메서드 - 빈 문자열인지 여부 체크 (= isEmpty메서드 = 이즈엠프티메서…
String Java - lastIndexOf() 메서드 - 지정 문자가 문자열에서 마지막 나타난 위치의 색인번호 반환.
String Java - length() 메서드 - 문자열 길이 (= length메서드 = 렝스메서드)
String Java - matches() 메서드 △ - 정규식과 일치하는 문자열 검색 후 일치 항목 반환.
String Java - offsetByCodePoints() 메서드 △ - 지정 인덱스에서 codePointOffset…
String Java - regionMatches() 메서드 △ - 두 문자열 영역이 같은지 테스트.
String Java - replace() 메서드 - 문자열의 특정 문자를 지정 문자로 대체. (= replace메서드 …
String Java - replaceFirst() 메서드 △ - 지정 정규식과 일치하는 첫 번째 하위 문자열을 새 지정…
String Java - replaceAll() 메서드 △ - 지정 정규식과 일치하는 모든 하위 문자열을 새 지정대로 대…
String Java - split() 메서드 △ - 문자열을 부분 문자열의 배열로 분할.
String Java - startsWith() 메서드 - 문자열이 지정 단일문자(들)로 시작하는지 체크.
String Java - subSequence() 메서드 △ - 하위 시퀀스 반환
7/10
목록
찾아주셔서 감사합니다. Since 2012