diff --git a/koin/src/main/java/in/koreatech/koin/ui/main/activity/MainActivity.kt b/koin/src/main/java/in/koreatech/koin/ui/main/activity/MainActivity.kt
index d7b073b35..4929b3811 100644
--- a/koin/src/main/java/in/koreatech/koin/ui/main/activity/MainActivity.kt
+++ b/koin/src/main/java/in/koreatech/koin/ui/main/activity/MainActivity.kt
@@ -29,10 +29,13 @@ import androidx.core.view.isVisible
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import androidx.viewpager2.widget.ViewPager2
+import com.google.android.material.tabs.TabLayoutMediator
 import dagger.hilt.android.AndroidEntryPoint
+import `in`.koreatech.koin.domain.model.dining.DiningPlace
 import `in`.koreatech.koin.domain.util.DiningUtil
 import `in`.koreatech.koin.domain.util.ext.arrange
 import `in`.koreatech.koin.domain.util.ext.typeFilter
+import `in`.koreatech.koin.ui.main.adapter.DiningContainerViewPager2Adapter
 import `in`.koreatech.koin.ui.store.contract.StoreActivityContract
 
 @AndroidEntryPoint
@@ -51,6 +54,7 @@ class MainActivity : KoinNavigationDrawerActivity() {
             mainActivityViewModel.setSelectedPosition(it)
         }
     }
+    private val diningContainerAdapter by lazy { DiningContainerViewPager2Adapter(this) }
 
     private val storeCategoryRecyclerAdapter = StoreCategoryRecyclerAdapter().apply {
         setRecyclerViewClickListener(object : RecyclerViewClickListener {
@@ -118,9 +122,11 @@ class MainActivity : KoinNavigationDrawerActivity() {
 //            callDrawerItem(R.id.navi_item_dining)
 //        }
 
-        DiningUtil.diningPlace.forEach { place ->
-            tabDining.addTab(tabDining.newTab().setText(place))
-        }
+        pagerDiningContainer.adapter = diningContainerAdapter
+
+        TabLayoutMediator(tabDining, pagerDiningContainer) { tab, position ->
+            tab.text = DiningPlace.entries[position].place
+        }.attach()
     }
 
     private fun initViewModel() = with(mainActivityViewModel) {
diff --git a/koin/src/main/java/in/koreatech/koin/ui/main/adapter/DiningContainerViewPager2Adapter.kt b/koin/src/main/java/in/koreatech/koin/ui/main/adapter/DiningContainerViewPager2Adapter.kt
new file mode 100644
index 000000000..373b916fa
--- /dev/null
+++ b/koin/src/main/java/in/koreatech/koin/ui/main/adapter/DiningContainerViewPager2Adapter.kt
@@ -0,0 +1,26 @@
+package `in`.koreatech.koin.ui.main.adapter
+
+import android.util.SparseArray
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentActivity
+import androidx.viewpager2.adapter.FragmentStateAdapter
+import `in`.koreatech.koin.domain.model.dining.DiningPlace
+import `in`.koreatech.koin.ui.main.fragment.DiningContainerFragment
+
+class DiningContainerViewPager2Adapter(
+    fragmentActivity: FragmentActivity
+) : FragmentStateAdapter(fragmentActivity) {
+    private val fragments = SparseArray<Fragment>()
+
+    override fun getItemCount(): Int = 4
+
+    override fun createFragment(position: Int): Fragment {
+        return fragments[position] ?: when (position) {
+            0 -> DiningContainerFragment.newInstance(DiningPlace.CornerA.place)
+            1 -> DiningContainerFragment.newInstance(DiningPlace.CornerB.place)
+            2 -> DiningContainerFragment.newInstance(DiningPlace.CornerC.place)
+            3 -> DiningContainerFragment.newInstance(DiningPlace.Nungsu.place)
+            else -> throw IllegalArgumentException("Position must be lower than $itemCount")
+        }.also { fragments[position] = it }
+    }
+}
\ No newline at end of file
diff --git a/koin/src/main/java/in/koreatech/koin/ui/main/fragment/DiningContainerFragment.kt b/koin/src/main/java/in/koreatech/koin/ui/main/fragment/DiningContainerFragment.kt
new file mode 100644
index 000000000..9fd6a4387
--- /dev/null
+++ b/koin/src/main/java/in/koreatech/koin/ui/main/fragment/DiningContainerFragment.kt
@@ -0,0 +1,38 @@
+package `in`.koreatech.koin.ui.main.fragment
+
+import android.os.Bundle
+import android.view.View
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.viewModels
+import `in`.koreatech.koin.R
+import `in`.koreatech.koin.core.util.dataBinding
+import `in`.koreatech.koin.databinding.FragmentDiningContainerBinding
+import `in`.koreatech.koin.ui.main.viewmodel.MainActivityViewModel
+
+class DiningContainerFragment : Fragment(R.layout.fragment_dining_container) {
+    private val binding by dataBinding<FragmentDiningContainerBinding>()
+    private val viewModel by viewModels<MainActivityViewModel>()
+    private val place by lazy { arguments?.getString(PLACE) }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+
+        initView()
+    }
+
+    private fun initView() {
+        place.apply {
+            binding.textViewDiningContainer.text = this.toString()
+        }
+    }
+
+    companion object {
+        private const val PLACE = "place"
+        fun newInstance(place: String) =
+            DiningContainerFragment().apply {
+                arguments = Bundle().apply {
+                    putString(PLACE, place)
+                }
+            }
+    }
+}
\ No newline at end of file
diff --git a/koin/src/main/res/layout/activity_main.xml b/koin/src/main/res/layout/activity_main.xml
index bda749328..3cc8ff529 100644
--- a/koin/src/main/res/layout/activity_main.xml
+++ b/koin/src/main/res/layout/activity_main.xml
@@ -164,6 +164,11 @@
                                 android:layout_height="1dp"
                                 android:background="#E1E1E1" />
 
+                            <androidx.viewpager2.widget.ViewPager2
+                                android:id="@+id/pager_dining_container"
+                                android:layout_width="match_parent"
+                                android:layout_height="wrap_content" />
+
                         </LinearLayout>
                     </androidx.core.widget.NestedScrollView>
                 </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
diff --git a/koin/src/main/res/layout/fragment_dining_container.xml b/koin/src/main/res/layout/fragment_dining_container.xml
new file mode 100644
index 000000000..33510c22f
--- /dev/null
+++ b/koin/src/main/res/layout/fragment_dining_container.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools">
+
+    <data>
+
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        tools:context=".ui.main.fragment.DiningContainerFragment">
+
+        <TextView
+            android:id="@+id/text_view_dining_container"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            tools:text="어디야??" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>
\ No newline at end of file