๐Ÿ“—
JunegLee's TIL
  • TIL
  • python
    • class
    • String Basic
    • regularExpression
    • String function
    • Generator
    • String format
    • getset
    • module
    • while
    • numpy
    • print()
    • matplotlib
    • for
    • Boolean
    • tuple
    • package
    • input(variable)
    • list
    • if
    • file
    • type()
    • pandas
    • function
    • dictionary
    • ๊ตฌ๋ฌธ ์˜ค๋ฅ˜์™€ ์˜ˆ์™ธ
    • builtinFunction
    • Constructor
  • algorithm
    • sort
      • mergeSort
      • insertionSort
      • bubbleSort
      • heapSort
      • quickSort
      • selectionSort
    • recursion
    • Greedy
    • DepthFirstSearch
    • basic
      • DataStructure
    • hash
    • BreadthFirstSearch
  • tensorflow
    • keras
      • layers
        • Flatten
        • Flatten
        • Dense
        • Dense
        • Conv2D
        • Conv2D
    • tensorflow1x
    • tensorflow2x
  • DB
    • setting
    • join
    • subQuery
    • overview
  • deep-learning
    • neuralNetwork
    • perceptron
    • neuralNetworkLearning
    • convolution neural network
    • Gradient Descent
    • Linear Regression
    • backPropagation
    • logistic regression
    • overview
  • textPreprocessing
    • overview
  • java
    • basics
      • generic
      • Variable
      • String
    • theory
      • Object Oriented Programing
  • NLP
    • Embedding
    • Natural Language Processing
Powered by GitBook
On this page
  • ๊ฐ์ฒด ์ง€ํ–ฅ (Object-Oriented)
  • ๊ฐ์ฒด (Object)
  • ํด๋ž˜์Šค(Class)
  • ์บก์Аํ™”(Encapsulation)
  • ์ƒ์†(Inheritance)
  • ๋‹คํ˜•์„ฑ(Polymorphism)

Was this helpful?

  1. java
  2. theory

Object Oriented Programing

๊ฐ์ฒด ์ง€ํ–ฅ (Object-Oriented)

: ํ˜„์‹ค ์„ธ๊ณ„์˜ ๊ฐœ์ฒด(Enity)๋ฅผ ๊ธฐ๊ณ„์˜ ๋ถ€ํ’ˆ์ฒ˜๋Ÿผ ํ•˜๋‚˜์˜ ๊ฐ์ฒด(Object)๋กœ ๋งŒ๋“ค์–ด, ๊ธฐ๊ณ„์ ์ธ ๋ถ€ํ’ˆ๋“ค์„ ์กฐ๋ฆฝํ•˜์—ฌ ์ œํ’ˆ์„ ๋งŒ๋“ค ๋“ฏ์ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœ ํ•  ๋•Œ์—๋„ ๊ฐ์ฒด๋“ค์„ ์กฐ๋ฆฝํ•ด์„œ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฒ•์„ ๋งํ•œ๋‹ค

  • ๊ฐ์ฒด ์ง€ํ–ฅ์€ ๊ตฌ์กฐ์  ๊ธฐ๋ฒ•์˜ ๋ฌธ์ œ์ ์œผ๋กœ ์ธํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์œ„๊ธฐ์˜ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ์ฑ„ํƒ

  • ๊ตฌ์กฐ์  ๊ธฐ๋ฒ•์€ ํ”„๋กœ์‹œ์ €์— ๊ทผ๊ฐ„์„ ๋‘๊ณ  ํ•˜๋‚˜์˜ ์ปค๋‹ค๋ž€ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ์ž‘์—…์œผ๋กœ ๋ถ„ํ• ํ•˜๊ณ , ๋ถ„ํ• ๋œ ๊ฐ๊ฐ์˜ ์†Œ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ๋“ˆ์„ ์ž‘์„ฑํ•œ ๋‹ค์Œ ์ด๋“ค์„ ํ•œ๊ณณ์— ๋ชจ์•„ ํฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•˜๋‚˜์˜ ์™„๋ฒฝํ•œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋ฒ•

  • ๊ตฌ์กฐ์  ๊ธฐ๋ฒ•์˜ ๋ฌธ์ œ์ ์€ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ๊ฐœ๋ฐœ ๊ณต์ •์—๋งŒ ์ง‘์ค‘, ์ถ”๊ฐ€์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€์‘ํ•˜๊ธฐ ์–ด๋ ค์šฐ๋ฉฐ, ์žฌ์‚ฌ์šฉ์ด ์–ด๋ ค์›Œ ์ด์ „์— ๊ฐœ๋ฐœํ•œ ์œ ์‚ฌํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋‹ค์‹œ ๊ฐœ๋ฐœํ•  ๋•Œ๋„ ์‹œ๊ฐ„๊ณผ ์ธ๋ ฅ์ด ๋™์ผํ•˜๊ฒŒ ์†Œ๋ชจ ๋œ๋‹ค

  • ๊ฐ์ฒด ์ง€ํ–ฅ์€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์žฌ์‚ฌ์šฉ ๋ฐ ํ™•์žฅ์ด ์šฉ์ดํ•˜์—ฌ ๊ณ ํ’ˆ์งˆ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๊ณ  ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์‰ฝ๋‹ค

  • ๊ฐ์ฒด ์ง€ํ–ฅ์€ ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ๋‹จ๊ณ„์ , ๊ณ„์ธต์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ , ๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด ๋ฐ์ดํ„ฐ ๋ฐ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›

  • ํ˜„์‹ค ์„ธ๊ณ„๋ฅผ ๋ชจํ˜•ํ™”ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค

  • ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ์™€ ๊ฐœ๋…์€ ๊ฐ์ฒด, ํด๋ž˜์Šค, ์บก์Аํ™”, ์ƒ์†, ๋‹คํ˜•์„ฑ์ด ์žˆ๋‹ค

๊ฐ์ฒด (Object)

: ๊ฐ์ฒด๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฌถ์–ด ๋†“์€ (์บก์Аํ™”ํ•œ) ํ•˜๋‚˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ์ด๋‹ค ๊ฐ์ฒด์˜ ํŠน์„ฑ

  • ๊ฐ์ฒด๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค

  • ๊ฐ์ฒด๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์„ ์ƒํƒœ(State)๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒํƒœ๋Š” ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ•œ๋‹ค

  • ๊ฐ์ฒด์™€ ๊ฐ์ฒด๋Š” ์ƒํ˜ธ ์—ฐ๊ด€์„ฑ์— ์˜ํ•œ ๊ด€๊ณ„๊ฐ€ ํ˜•์„ฑ๋œ๋‹ค

  • ๊ฐ์ฒด๊ฐ€ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์‹œ์ง€์˜ ์ง‘ํ•ฉ์„ ํ–‰์œ„๋ผ๊ณ  ํ•˜๋ฉฐ, ๊ฐ์ฒด๋Š” ํ–‰์œ„์˜ ํŠน์ง•์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค

  • ๊ฐ์ฒด๋Š” ์ผ์ •ํ•œ ๊ธฐ์–ต์žฅ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค

  • ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ๋Š” ๋‹ค๋ฅธ ๊ฐ์ฒด๋กœ๋ถ€ํ„ฐ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•˜์„ ๋•Œ ์ •ํ•ด์ง„ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค

ํด๋ž˜์Šค(Class)

: ๊ณตํ†ต๋œ ์†์„ฑ๊ณผ ์—ฐ์‚ฐ(ํ–‰์œ„)์„ ๊ฐ–๋Š” ๊ฐ์ฒด์˜ ์ง‘ํ•ฉ์œผ๋กœ, ๊ฐ์ฒด์˜ ์ผ๋ฐ˜์ ์ธ ํƒ€์ž…์„ ์˜๋ฏธํ•œ๋‹ค

  • ํด๋ž˜์Šค๋Š” ๊ฐ๊ฐ์˜ ๊ฐ์ฒด๋“ค์ด ๊ฐ–๋Š” ์†์„ฑ๊ณผ ์—ฐ์‚ฐ์„ ์ •์˜ํ•˜๊ณ  ์žˆ๋Š” ํ‹€์ด๋‹ค

  • ํด๋ž˜์Šค์— ์†ํ•œ ๊ฐ๊ฐ์˜ ๊ฐ์ฒด๋ฅผ ์ธ์Šคํ„ด์Šค(Instance)๋ผ ํ•˜๋ฉฐ, ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ์ธ์Šคํ„ด์Šคํ™”(Instantiation)๋ผ๊ณ  ํ•œ๋‹ค

  • ๋™์ผ ํด๋ž˜์Šค์— ์†ํ•œ ๊ฐ๊ฐ์˜ ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)๋“ค์€ ๊ณตํ†ต๋œ ์†์„ฑ๊ณผ ํ–‰์œ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๊ทธ ์†์„ฑ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์„œ๋กœ ๋‹ฌ๋ผ์„œ ๋™์ผ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ฐ์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ด๊ฒŒ ๋œ๋‹ค

  • ์ตœ์ƒ์œ„ ํด๋ž˜์Šค๋Š” ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ๊ฐ–์ง€ ์•Š๋Š” ํด๋ž˜์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค

  • ์Šˆํผ ํด๋ž˜์Šค(Super Class)๋Š” ํŠน์ • ํด๋ž˜์Šค์˜ ์ƒ์œ„(๋ถ€๋ชจ) ํด๋ž˜์Šค์ด๊ณ , ์„œ๋ธŒ ํด๋ž˜์Šค (Sub Class)๋Š” ํŠน์ • ํด๋ž˜์Šค์˜ ํ•˜์œ„(์ž์‹) ํด๋ž˜์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค

์บก์Аํ™”(Encapsulation)

: ๋ฐ์ดํ„ฐ(์†์„ฑ)๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค

  • ์บก์Аํ™”๋œ ๊ฐ์ฒด๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ์™ธํ•œ ์„ธ๋ถ€ ๋‚ด์šฉ์ด ์€ํ(์ •๋ณด ์€๋‹‰)๋˜์–ด ์™ธ๋ถ€์—์„œ์˜ ์ ‘๊ทผ ์ œํ•œ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์™ธ๋ถ€ ๋ชจ๋“ˆ์˜ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•œ ํŒŒ๊ธ‰ ํšจ๊ณผ๊ฐ€ ์ ๋‹ค

  • ์บก์Аํ™”๋œ ๊ฐ์ฒด๋“ค์€ ์žฌ์‚ฌ์šฉ์ด ์šฉ์ดํ•˜๋‹ค

  • ๊ฐ์ฒด๋“ค ๊ฐ„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์ƒ๋Œ€ ๊ฐ์ฒด์˜ ์„ธ๋ถ€ ๋‚ด์šฉ์€ ์•Œ ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋‹จ์ˆœํ•ด์ง€๊ณ , ๊ฐ์ฒด ๊ฐ„์˜ ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์•„ ์ง„๋‹ค

์ƒ์†(Inheritance)

: ์ด๋ฏธ ์ •์˜๋œ ์ƒ์œ„ ํด๋ž˜์Šค(๋ถ€๋ชจ ํด๋ž˜์Šค)์˜ ๋ชจ๋“  ์†์„ฑ๊ณผ ์—ฐ์‚ฐ์„ ํ•˜์œ„ ํด๋ž˜์Šค(์ž์‹ ํด๋ž˜์Šค)๊ฐ€ ๋ฌผ๋ ค๋ฐ›๋Š” ๊ฒƒ

  • ์ƒ์†์„ ์ด์šฉํ•˜๋ฉด ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ์†์„ฑ๊ณผ ์—ฐ์‚ฐ์„ ์ž์‹ ์˜ ํด๋ž˜์Šค ๋‚ด์—์„œ ๋‹ค์‹œ ์ •์˜ํ•˜์ง€ ์•Š๊ณ ์„œ๋„ ์ฆ‰์‹œ ์ž์‹ ์˜ ์†์„ฑ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

  • ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ์ƒ์œ„ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์†๋ฐ›์€ ์†์„ฑ๊ณผ ์—ฐ์‚ฐ ์™ธ์— ์ƒˆ๋กœ์šด ์†์„ฑ๊ณผ ์—ฐ์‚ฐ์„ ์ฒจ๊ฐ€ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค,

  • ์ƒ์œ„ ํด๋ž˜์Šค์˜ ์†์„ฑ๊ณผ ์—ฐ์‚ฐ์„ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด์™€ ํด๋ž˜์Šค์˜ ์žฌ์‚ฌ์šฉ, ์ฆ‰ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์žฌ์‚ฌ์šฉใ…‡์„ ๋†’์ด๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋…์ด๋‹ค

  • ๋‹ค์ค‘ ์ƒ์†์€ ํ•œ ๊ฐœ์˜ ํด๋ž˜์Šค๊ฐ€ ๋‘ ๊ฐœ์ด์ƒ์˜ ์ƒ์œ„ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ์†์„ฑ๊ณผ ์—ฐ์‚ฐ์„ ์ƒ์†๋ฐ›๋Š” ๊ฒƒ์ด๋‹ค

๋‹คํ˜•์„ฑ(Polymorphism)

: ๋ฉ”์‹œ์ง€์— ์˜ํ•ด ๊ฐ์ฒด(ํด๋ž˜์Šค)๊ฐ€ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋  ๋•Œ ํ•˜๋‚˜์˜ ๋ฉ”์‹œ์ง€์— ๋Œ€ํ•ด ๊ฐ๊ฐ์˜ ๊ฐ์ฒด(ํด๋ž˜์Šค)๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ ์œ ํ•œ ๋ฐฉ๋ฒ•(ํŠน์„ฑ)์œผ๋กœ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ์˜๋ฏธํ•œ๋‹ค

  • ๊ฐ์ฒด(ํด๋ž˜์Šค)๋“ค์€ ๋™์ผํ•œ ๋ฉ”์„œ๋“œ ๋ช…์„ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ฐ™์€ ์˜๋ฏธ์˜ ์‘๋‹ต์„ ํ•œ๋‹ค

  • ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ƒ์—์„œ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋‚˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋“ค์„ ๊ฐ™์€ ํด๋ž˜์Šค์— ์†ํ•œ ์ธ์Šคํ„ด์Šค์ฒ˜๋Ÿผ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค

PrevioustheoryNextNLP

Last updated 4 years ago

Was this helpful?