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

[class] Java - Abstraction (추상화)

775  
목차
  1. 추상화 (abstraction) 정의
  2. 추상화 (abstraction) 예제

 

추상화 (abstraction) 정의

 

특정 세부 정보 숨기고 사용자에게 필수 정보만 표시.

 


 

1.

추상화는 '추상클래스'나 '인터페이스'로 달성 가능.

 

2.

abstract 키워드 : 클래스와 메소드에 사용되는 비접근 한정자.


추상 클래스 (Abstract class)

객체 만드는데 사용할 수없는 제한된 클래스.

※ 접근하려면, 다른 클래스에서 상속돼야 함.


추상 메서드 (Abstract method) 

추상 클래스에서만 사용 가능하며, 본문이 없음. 

※ 본문은 상속된 하위 클래스에서 제공.

 

3.

추상 클래스는 (추상/일반) 메서드 모두 보유 가능.

(예)

abstract class Site { // 추상 클래스

  public abstract void host(); // 추상 메서드

  public void greeting() { // 일반 메서드

    System.out.println("놀러오세요.");

  }

}

 

4.

위 Site 추상 클래스로 객체 생성 불가.

(예)

Site my = new Site(); // 에러 유발.

 

5.

Site 추상 클래스에 접근하려면, 

Site 추상 클래스를 상속하는 다른 서브 클래스 이용해야 함.

※ 클래스 상속extends 키워드 이용.

 

 

추상화 (abstraction) 예제

파일명: Hz.java

 

abstract class Site { // 추상 클래스

  public abstract void host(); // 추상 메서드

  public void greeting() {

    System.out.println("홈페이지 놀러오세요.");

  }

}


class My extends Site {

  public void host() {

    System.out.println("Homzzang.com");

  }

}


class Hz {

  public static void main(String[] args) {

    My my = new My();

    my.host();

    my.greeting();

  }

}

 

결과값:

Homzzang.com

홈페이지 놀러오세요.



분류 제목
class Java - OOP (객체 지향 프로그래밍)
class Java - Class (클래스) / Object (객체)
class Java - Class Attribute (클래스 속성)
class Java - Class Methods (클래스 메서드)
class Java - Constructors (생성자)
class Java - Modifiers (수정자) - 접근제어자
class Java - Encapsulation (캡슐화) ※ Getter (게터) / Setter (세터)
class Java - Packages (패키지) / API
class Java - Inheritance (상속)
class Java - Polymorphism (다형성)
class Java - Inner Classes (내부 클래스)
class Java - Abstraction (추상화)
class Java - interface (인터페이스) ★
class Java - enums (이넘) - 상수 열거형 클래스
class Java - User Input (사용자 입력) - Scanner (스캐너) ★★★
class Java - Date/Time (날짜/시간)
class Java - ArrayList (어레이리스트) - 랜덤 접근 최적화 된 유사 배열
class Java - LinkedList (링크트리스트) - 반복 접근 최적화 된 유사 배열
class Java - HashMap (해시맵) - key=value 쌍의 유사 배열. (Python Dictionar…
class Java - HashSet (해시셋) - 유일값만 인정하는 유사 배열. ※ Python의 Set과 유사.
1/2
목록
찾아주셔서 감사합니다. Since 2012