다음을 통해 공유


Presentation 클래스

정의

프레젠테이션의 기본 클래스입니다.

[Android.Runtime.Register("android/app/Presentation", DoNotGenerateAcw=true)]
public class Presentation : Android.App.Dialog
[<Android.Runtime.Register("android/app/Presentation", DoNotGenerateAcw=true)>]
type Presentation = class
    inherit Dialog
상속
Presentation
특성

설명

프레젠테이션의 기본 클래스입니다.

프레젠테이션은 보조 디스플레이에 콘텐츠를 표시하는 것을 목적으로 하는 특별한 종류의 대화 상자입니다. A Presentation 는 생성 시 대상 Display 과 연결되며 디스플레이의 메트릭에 따라 컨텍스트 및 리소스 구성을 구성합니다.

특히 프레젠테이션은 Context 포함된 Activity컨텍스트와 다릅니다. 프레젠테이션의 레이아웃을 확장하고 프레젠테이션 자체 컨텍스트를 사용하여 다른 리소스를 로드하여 대상 디스플레이에 대한 올바른 크기와 밀도의 자산이 로드되도록 하는 것이 중요합니다.

프레젠테이션이 연결된 디스플레이가 제거되면 프레젠테이션이 자동으로 취소됩니다(참조 Dialog#cancel()). 활동 자체는 일시 중지되거나 다시 시작될 때마다 프레젠테이션 내에서 재생 중인 콘텐츠를 일시 중지하고 다시 시작해야 합니다.

<h3>프레젠테이션 표시< 선택/h3>

표시 Presentation 하기 전에 표시할 위치를 선택하는 Display 것이 중요합니다. 여러 디스플레이가 연결되어 있을 수 있으므로 프레젠테이션 디스플레이를 선택하는 것이 어려울 수 있습니다. 어떤 디스플레이가 가장 적합한지 추측하는 대신 애플리케이션에서 시스템에서 적합한 프레젠테이션 표시를 선택하도록 해야 합니다.

을 선택하는 두 가지 주요 방법이 있습니다 Display.

<h4>미디어 라우터를 사용하여 프레젠테이션 디스플레이< 선택/h4>

프레젠테이션 표시를 선택하는 가장 쉬운 방법은 API를 android.media.MediaRouter MediaRouter 사용하는 것입니다. 미디어 라우터 서비스는 시스템에서 사용할 수 있는 오디오 및 비디오 경로를 추적합니다. 미디어 라우터는 경로를 선택하거나 선택 취소하거나 경로의 기본 프레젠테이션 표시가 변경될 때마다 알림을 보냅니다. 따라서 애플리케이션은 이러한 알림을 감시하고 기본 프레젠테이션 디스플레이에서 프레젠테이션을 자동으로 표시하거나 해제할 수 있습니다.

기본 프레젠테이션 표시는 보조 디스플레이에 콘텐츠를 표시하려는 경우 미디어 라우터가 애플리케이션에서 사용하도록 권장하는 디스플레이입니다. 경우에 따라 응용 프로그램에서 프레젠테이션을 사용하지 않고 로컬로 콘텐츠를 표시해야 하는 기본 프레젠테이션 표시가 없을 수 있습니다.

미디어 라우터를 사용하여 기본 프레젠테이션 디스플레이 android.media.MediaRouter.RouteInfo#getPresentationDisplay()에 프레젠테이션을 만들고 표시하는 방법은 다음과 같습니다.

MediaRouter mediaRouter = (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE);
            MediaRouter.RouteInfo route = mediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
            if (route != null) {
                Display presentationDisplay = route.getPresentationDisplay();
                if (presentationDisplay != null) {
                    Presentation presentation = new MyPresentation(context, presentationDisplay);
                    presentation.show();
                }
            }

다음 샘플 코드에서는 ApiDemos 미디어 라우터를 사용하여 기본 활동의 콘텐츠를 표시하고 프레젠테이션 표시를 사용할 수 있을 때 프레젠테이션의 콘텐츠를 표시하는 것 간에 자동으로 전환하는 방법을 보여 줍니다.

{

에 대한 android.app.PresentationJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

생성자

Presentation(Context, Display)

기본 테마를 사용하여 지정된 디스플레이에 연결된 새 프레젠테이션을 만듭니다.

Presentation(Context, Display, Int32)

필요에 따라 지정된 테마를 사용하여 지정된 디스플레이에 연결된 새 프레젠테이션을 만듭니다.

Presentation(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

속성

ActionBar

ActionBar 이 대화 상자에 연결된 항목(있는 경우)을 검색합니다.

(다음에서 상속됨 Dialog)
Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Context

이 대화 상자가 실행 중인 컨텍스트를 검색합니다.

(다음에서 상속됨 Dialog)
CurrentFocus

이 작업이 현재 포커스가 있는 보기를 반환하려면 창을 호출 android.view.Window#getCurrentFocus 합니다.

(다음에서 상속됨 Dialog)
Display

이 프레젠테이션이 Display 표시되는 것을 가져옵니다.

Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
IsShowing

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
JniIdentityHashCode

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
JniPeerMembers

프레젠테이션의 기본 클래스입니다.

LayoutInflater

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
OnBackInvokedDispatcher

이 대화 상자가 OnBackInvokedDispatcher 연결된 창과 연결된 인스턴스를 반환합니다.

(다음에서 상속됨 Dialog)
OwnerActivity

이 대화 상자를 소유하는 활동을 반환합니다. -또는- 이 대화 상자를 소유하는 활동을 설정합니다.

(다음에서 상속됨 Dialog)
PeerReference

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
Resources

이 프레젠테이션의 Resources 레이아웃을 확장하기 위해 사용해야 하는 값을 가져옵니다.

SearchEvent

onSearchRequested() 콜백 중에 이 함수는 콜백이 있는 경우 콜백을 트리거한 콜백을 반환 SearchEvent 합니다.

(다음에서 상속됨 Dialog)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

VolumeControlStream

기본적으로 소유자 활동의 제안된 스트림 형식을 사용합니다.

(다음에서 상속됨 Dialog)
Window

활동의 현재 창을 검색합니다.

(다음에서 상속됨 Dialog)

메서드

AddContentView(View, ViewGroup+LayoutParams)

화면에 추가 콘텐츠 보기를 추가합니다.

(다음에서 상속됨 Dialog)
Cancel()

대화 상자를 취소합니다.

(다음에서 상속됨 Dialog)
Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
CloseOptionsMenu()

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
Create()

대화 상자를 즉시 생성합니다.

(다음에서 상속됨 Dialog)
Dismiss()

이 대화 상자를 해제하고 화면에서 제거합니다.

(다음에서 상속됨 Dialog)
DispatchGenericMotionEvent(MotionEvent)

제네릭 동작 이벤트를 처리하기 위해 호출됩니다.

(다음에서 상속됨 Dialog)
DispatchKeyEvent(KeyEvent)

키 이벤트를 처리하기 위해 호출됩니다.

(다음에서 상속됨 Dialog)
DispatchKeyShortcutEvent(KeyEvent)

키 바로 가기 이벤트를 처리하기 위해 호출됩니다.

(다음에서 상속됨 Dialog)
DispatchPopulateAccessibilityEvent(AccessibilityEvent)

모집단 AccessibilityEvent을 처리하기 위해 호출됩니다.

(다음에서 상속됨 Dialog)
DispatchTouchEvent(MotionEvent)

터치 스크린 이벤트를 처리하기 위해 호출됩니다.

(다음에서 상속됨 Dialog)
DispatchTrackballEvent(MotionEvent)

트랙볼 이벤트를 처리하기 위해 호출됩니다.

(다음에서 상속됨 Dialog)
Dispose()

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
FindViewById(Int32)

지정된 ID가 있는 첫 번째 하위 뷰를 찾거나 null ID가 잘못된 경우(< 0), 계층 구조에 일치하는 보기가 없거나 대화 상자가 아직 완전히 만들어지지 않았습니다(예: 통해 #show() 또는 #create()).

(다음에서 상속됨 Dialog)
FindViewById<T>(Int32)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
Hide()

대화 상자를 숨기지만 해제하지 마세요.

(다음에서 상속됨 Dialog)
InvalidateOptionsMenu()

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
OnActionModeFinished(ActionMode)

추가할 수 있습니다.

        Note that if you override this method you should always call through
        to the superclass implementation by calling super.
(다음에서 상속됨 Dialog)
OnActionModeStarted(ActionMode)

추가할 수 있습니다.

        Note that if you override this method you should always call through
        to the superclass implementation by calling super.
(다음에서 상속됨 Dialog)
OnAttachedToWindow()

창 관리자에 창이 연결되었을 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnBackPressed()

대화 상자가 사용자의 뒤로 키 누르기를 감지하면 호출됩니다.

(다음에서 상속됨 Dialog)
OnContentChanged()

이 후크는 M:Android.Views.Window.SetContentView(Android.Views.View)에 대한 호출로 인해 화면의 콘텐츠 보기가 변경 될 때마다 호출됩니다. LayoutParams) 또는 AddContentView(View, ViewGroup+LayoutParams)).

(다음에서 상속됨 Dialog)
OnContextItemSelected(IMenuItem)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
OnContextMenuClosed(IMenu)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
OnCreate(Bundle)

Activity#onCreate마찬가지로 호출#setContentView을 포함하여 이 메서드에서 대화 상자를 초기화해야 합니다.

(다음에서 상속됨 Dialog)
OnCreateContextMenu(IContextMenu, View, IContextMenuContextMenuInfo)

이 보기의 상황에 맞는 메뉴를 빌드할 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnCreateOptionsMenu(IMenu)

일반적으로 클라이언트가 이 대화 상자에 대해 동일한 메뉴를 원하는 경우 소유자 활동에 Activity#onCreateOptionsMenu(Menu) 이 호출을 프록시하는 것이 안전합니다.

(다음에서 상속됨 Dialog)
OnCreatePanelMenu(Int32, IMenu)

패널 'featureId'에 대한 메뉴의 내용을 초기화합니다.

(다음에서 상속됨 Dialog)
OnCreatePanelView(Int32)

'featureId'에 대한 패널에 표시할 보기를 인스턴스화합니다.

(다음에서 상속됨 Dialog)
OnDetachedFromWindow()

창 관리자에 창이 연결되었을 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnDisplayChanged()

프레젠테이션이 연결된 속성 Display 이 변경되면 시스템에서 호출됩니다.

OnDisplayRemoved()

프레젠테이션이 연결된 상태가 제거되었을 때 Display 시스템에서 호출됩니다.

OnGenericMotionEvent(MotionEvent)

제네릭 동작 이벤트가 대화 상자 내의 뷰에서 처리되지 않은 경우 호출됩니다.

(다음에서 상속됨 Dialog)
OnKeyDown(Keycode, KeyEvent)

키를 눌렀습니다.

(다음에서 상속됨 Dialog)
OnKeyLongPress(Keycode, KeyEvent)

기본 구현 KeyEvent.Callback#onKeyLongPress(int, KeyEvent) KeyEvent.Callback.onKeyLongPress(): 항상 false를 반환합니다(이벤트를 처리하지 않음).

(다음에서 상속됨 Dialog)
OnKeyMultiple(Keycode, Int32, KeyEvent)

기본 구현 KeyEvent.Callback#onKeyMultiple(int, int, KeyEvent) KeyEvent.Callback.onKeyMultiple(): 항상 false를 반환합니다(이벤트를 처리하지 않음).

(다음에서 상속됨 Dialog)
OnKeyShortcut(Keycode, KeyEvent)

키 바로 가기 이벤트가 대화 상자의 뷰에서 처리되지 않을 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnKeyUp(Keycode, KeyEvent)

키가 해제되었습니다.

(다음에서 상속됨 Dialog)
OnMenuItemSelected(Int32, IMenuItem)

사용자가 패널의 메뉴 항목을 선택한 경우 호출됩니다.

(다음에서 상속됨 Dialog)
OnMenuOpened(Int32, IMenu)

사용자가 패널 메뉴를 열 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnOptionsItemSelected(IMenuItem)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
OnOptionsMenuClosed(IMenu)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
OnPanelClosed(Int32, IMenu)

패널을 닫을 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnPrepareOptionsMenu(IMenu)

일반적으로 클라이언트가 이 대화 상자에 대해 동일한 메뉴를 원하는 경우 소유자 활동에 Activity#onPrepareOptionsMenu(Menu) 이 호출을 프록시하는 것이 안전합니다.

(다음에서 상속됨 Dialog)
OnPreparePanel(Int32, View, IMenu)

표시할 패널을 준비합니다.

(다음에서 상속됨 Dialog)
OnRestoreInstanceState(Bundle)

이전에 저장된 번들에서 대화 상자의 상태를 복원합니다.

(다음에서 상속됨 Dialog)
OnSaveInstanceState()

대화 상자의 상태를 번들에 저장합니다.

(다음에서 상속됨 Dialog)
OnSearchRequested()

이 후크는 사용자가 검색을 시작하라는 신호를 보낼 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnSearchRequested(SearchEvent)

이 후크는 사용자가 검색을 시작하라는 신호를 보낼 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnStart()

대화 상자가 시작될 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnStop()

중지 중임을 알리기 위해 호출되었습니다.

(다음에서 상속됨 Dialog)
OnTouchEvent(MotionEvent)

터치 스크린 이벤트가 그 아래의 보기에서 처리되지 않은 경우 호출됩니다.

(다음에서 상속됨 Dialog)
OnTrackballEvent(MotionEvent)

트랙볼이 이동되고 활동 내의 뷰에서 처리되지 않을 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnWindowAttributesChanged(WindowManagerLayoutParams)

현재 창 특성이 변경 될 때마다이 호출 됩니다.

(다음에서 상속됨 Dialog)
OnWindowFocusChanged(Boolean)

이 후크는 창 포커스가 변경 될 때마다 호출 됩니다.

(다음에서 상속됨 Dialog)
OnWindowStartingActionMode(ActionMode+ICallback)

이 창에 대해 작업 모드가 시작될 때 호출됩니다.

(다음에서 상속됨 Dialog)
OnWindowStartingActionMode(ActionMode+ICallback, ActionModeType)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
OpenContextMenu(View)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
OpenOptionsMenu()

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
RegisterForContextMenu(View)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
RequestWindowFeature(Int32)

확장 창 기능을 사용하도록 설정합니다.

(다음에서 상속됨 Dialog)
RequireViewById(Int32)

지정된 ID가 있는 첫 번째 하위 뷰를 찾거나 ID가 유효하지 않거나(< 0), 계층 구조에 일치하는 보기가 없거나, 대화 상자가 아직 완전히 생성되지 않은 경우(예: 통해 #show() 또는 #create())하는 IllegalArgumentException을 throw합니다.

(다음에서 상속됨 Dialog)
SetCancelable(Boolean)

키를 사용하여 이 대화 상자를 취소할 수 KeyEvent#KEYCODE_BACK BACK 있는지 여부를 설정합니다.

(다음에서 상속됨 Dialog)
SetCanceledOnTouchOutside(Boolean)

창의 범위를 벗어나면 이 대화 상자가 취소되는지 여부를 설정합니다.

(다음에서 상속됨 Dialog)
SetCancelMessage(Message)

대화 상자가 취소될 때 보낼 메시지를 설정합니다.

(다음에서 상속됨 Dialog)
SetContentView(Int32)

레이아웃 리소스에서 화면 콘텐츠를 설정합니다.

(다음에서 상속됨 Dialog)
SetContentView(View)

화면 콘텐츠를 명시적 보기로 설정합니다.

(다음에서 상속됨 Dialog)
SetContentView(View, ViewGroup+LayoutParams)

레이아웃 리소스에서 화면 콘텐츠를 설정합니다.

(다음에서 상속됨 Dialog)
SetDismissMessage(Message)

대화 상자가 해제될 때 보낼 메시지를 설정합니다.

(다음에서 상속됨 Dialog)
SetFeatureDrawable(Int32, Drawable)

을(를) 호출 android.view.Window#setFeatureDrawable(int, Drawable)하는 데 편리합니다.

(다음에서 상속됨 Dialog)
SetFeatureDrawableAlpha(Int32, Int32)

을(를) 호출 android.view.Window#setFeatureDrawableAlpha하는 데 편리합니다.

(다음에서 상속됨 Dialog)
SetFeatureDrawableResource(Int32, Int32)

을(를) 호출 android.view.Window#setFeatureDrawableResource하는 데 편리합니다.

(다음에서 상속됨 Dialog)
SetFeatureDrawableUri(Int32, Uri)

을(를) 호출 android.view.Window#setFeatureDrawableUri하는 데 편리합니다.

(다음에서 상속됨 Dialog)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
SetOnCancelListener(IDialogInterfaceOnCancelListener)

대화 상자가 취소될 때 호출할 수신기를 설정합니다.

(다음에서 상속됨 Dialog)
SetOnDismissListener(IDialogInterfaceOnDismissListener)

대화 상자가 해제될 때 호출할 수신기를 설정합니다.

(다음에서 상속됨 Dialog)
SetOnKeyListener(IDialogInterfaceOnKeyListener)

키가 대화 상자에 디스패치되는 경우 호출될 콜백을 설정합니다.

(다음에서 상속됨 Dialog)
SetOnShowListener(IDialogInterfaceOnShowListener)

대화 상자가 표시될 때 호출할 수신기를 설정합니다.

(다음에서 상속됨 Dialog)
SetTitle(ICharSequence)

이 대화 상자 창의 제목 텍스트를 설정합니다.

(다음에서 상속됨 Dialog)
SetTitle(Int32)

이 대화 상자 창의 제목 텍스트를 설정합니다.

(다음에서 상속됨 Dialog)
SetTitle(String)

이 대화 상자 창의 제목 텍스트를 설정합니다.

(다음에서 상속됨 Dialog)
Show()

대화 상자를 시작하고 화면에 표시합니다.

(다음에서 상속됨 Dialog)
TakeKeyEvents(Boolean)

키 이벤트가 이 대화 상자에 오도록 요청합니다.

(다음에서 상속됨 Dialog)
ToArray<T>()

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterForContextMenu(View)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
UnregisterFromRuntime()

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.>

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)

이벤트

CancelEvent

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
DismissEvent

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
KeyPress

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)
ShowEvent

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Dialog)

명시적 인터페이스 구현

IJavaPeerable.Disposed()

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.DisposeUnlessReferenced()

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.Finalized()

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.JniManagedPeerState

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

프레젠테이션의 기본 클래스입니다.

(다음에서 상속됨 Object)

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

프레젠테이션의 기본 클래스입니다.

GetJniTypeName(IJavaPeerable)

프레젠테이션의 기본 클래스입니다.

적용 대상