λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Project ESG+AI/Tech Basics

14일차. IT κ°œλ… 정리

by GreenJin_S2 2025. 10. 28.

 


클래슀 μΈν„°νŽ˜μ΄μŠ€ 차이점과 곡톡점

클래슀(Class)”와 “μΈν„°νŽ˜μ΄μŠ€(Interface)”λŠ” 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°(OOP) μ—μ„œ μ•„μ£Ό 자주 λ“±μž₯ν•˜λŠ” κ°œλ…μž…λ‹ˆλ‹€.
두 κ°œλ…μ€ μ„œλ‘œ λ°€μ ‘ν•˜κ²Œ κ΄€λ ¨λ˜μ–΄ μžˆμ§€λ§Œ, μ—­ν• κ³Ό λͺ©μ μ΄ λ‹€λ¦…λ‹ˆλ‹€.
μ•„λž˜μ—μ„œ 차이점과 곡톡점을 μ²΄κ³„μ μœΌλ‘œ 정리해 λ“œλ¦΄κ²Œμš”.


🧩 1. κΈ°λ³Έ κ°œλ… 이해

κ΅¬λΆ„ν΄λž˜μŠ€(Class)μΈν„°νŽ˜μ΄μŠ€(Interface)
μ •μ˜ 객체λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ 섀계도 (속성과 κΈ°λŠ₯ κ΅¬ν˜„ 포함) ν΄λž˜μŠ€κ°€ 따라야 ν•  κ·œμΉ™(κΈ°λŠ₯의 λͺ…μ„Έλ§Œ μ •μ˜)
포함 λ‚΄μš© λ³€μˆ˜(ν•„λ“œ), λ©”μ„œλ“œ(κ΅¬ν˜„ O) λ©”μ„œλ“œ μ„ μ–Έ(κ΅¬ν˜„ X), μƒμˆ˜
μ—­ν•  μ‹€μ œ λ™μž‘μ„ μ •μ˜ “이 κΈ°λŠ₯을 λ°˜λ“œμ‹œ κ΅¬ν˜„ν•΄μ•Ό 함”을 약속
μΈμŠ€ν„΄μŠ€ν™” new둜 객체 생성 κ°€λŠ₯ 직접 객체 생성 λΆˆκ°€
상속 관계 단일 상속(extends) 닀쀑 κ΅¬ν˜„(implements) κ°€λŠ₯

βš–οΈ 3. 곡톡점

ν•­λͺ©κ³΅ν†΅μ  μ„€λͺ…
ꡬ쑰적 섀계 μš”μ†Œ λͺ¨λ‘ 객체지ν–₯ μ„€κ³„μ˜ κΈ°λ³Έ κ΅¬μ„±μš”μ†Œ
λ©”μ„œλ“œ μ„ μ–Έ κ°€λŠ₯ λ‘˜ λ‹€ λ©”μ„œλ“œλ₯Ό μ •μ˜ν•  수 있음 (단, μΈν„°νŽ˜μ΄μŠ€λŠ” μ„ μ–Έλ§Œ κ°€λŠ₯)
상속 λ˜λŠ” κ΅¬ν˜„μ— μ‚¬μš©λ¨ ν΄λž˜μŠ€λŠ” 상속, μΈν„°νŽ˜μ΄μŠ€λŠ” κ΅¬ν˜„μ„ 톡해 λ‹€λ₯Έ ν΄λž˜μŠ€μ™€ μ—°κ²°
μ½”λ“œ μž¬μ‚¬μš©μ„± ν–₯상 ꡬ쑰적 일관성을 λ†’μ—¬ μœ μ§€λ³΄μˆ˜λ₯Ό μ‰½κ²Œ 함

🧠 4. 차이점 핡심 μš”μ•½

비ꡐ ν•­λͺ©ν΄λž˜μŠ€μΈν„°νŽ˜μ΄μŠ€
λͺ©μ  객체 생성 및 κΈ°λŠ₯ κ΅¬ν˜„ κ·œμΉ™ μ •μ˜, κΈ°λŠ₯의 ν‘œμ€€ν™”
λ‚΄μš© ν•„λ“œ + λ©”μ„œλ“œ(κ΅¬ν˜„ 포함) λ©”μ„œλ“œ μ„ μ–Έ + μƒμˆ˜
상속 ν•œ 개의 클래슀만 상속 κ°€λŠ₯ μ—¬λŸ¬ μΈν„°νŽ˜μ΄μŠ€λ₯Ό κ΅¬ν˜„ κ°€λŠ₯
객체 생성 κ°€λŠ₯ μ—¬λΆ€ κ°€λŠ₯ (new) λΆˆκ°€λŠ₯
μ½”λ“œ μž¬μ‚¬μš©μ„± λ†’μŒ λ‹€ν˜•μ„± 지원에 도움

πŸ’¬ 5. λΉ„μœ λ‘œ μ΄ν•΄ν•˜κΈ°

κ°œλ…λΉ„μœ 
클래슀 μžλ™μ°¨μ˜ 섀계도 + μ—”μ§„κΉŒμ§€ μ™„μ„±λœ μ™„μ œν’ˆ
μΈν„°νŽ˜μ΄μŠ€ “μžλ™μ°¨λΌλ©΄ μš΄μ „ν•  수 μžˆμ–΄μ•Ό ν•œλ‹€”λŠ” κ·œμΉ™μ„œ (ν•Έλ“€, 브레이크 μžˆμ–΄μ•Ό 함 λ“±)

즉, ν΄λž˜μŠ€λŠ” κ΅¬ν˜„μ²΄, μΈν„°νŽ˜μ΄μŠ€λŠ” μ•½μ†μ„œ 라고 μƒκ°ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

 

 


 

🧩 1. PostgreSQLμ—μ„œμ˜ νƒ€μž…(type)

PostgreSQL(포슀트그리SQL)은 λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œ(DBMS) 이기 λ•Œλ¬Έμ—,
μ—¬κΈ°μ„œμ˜ νƒ€μž…μ€ 데이터 νƒ€μž…(Data Type) 을 μ˜λ―Έν•©λ‹ˆλ‹€.

즉, “이 컬럼(column)에 μ–΄λ–€ μ’…λ₯˜μ˜ 데이터가 μ €μž₯될 수 μžˆλŠ”κ°€”λ₯Ό μ •μ˜ν•˜μ£ .

예λ₯Ό λ“€μ–΄:

데이터 νƒ€μž…μ„€λͺ…μ˜ˆμ‹œ
INTEGER μ •μˆ˜ 42
VARCHAR(50) λ¬Έμžμ—΄(μ΅œλŒ€ 50자) 'Hello'
BOOLEAN μ°Έ/κ±°μ§“ TRUE / FALSE
DATE λ‚ μ§œ 2025-10-28
JSON JSON ꡬ쑰 데이터 {"name": "홍길동"}

πŸ’‘ 즉, PostgreSQLμ—μ„œμ˜ "type"은 λ°μ΄ν„°μ˜ ν˜•μ‹μ„ λ‚˜νƒ€λ‚΄λŠ” κ°œλ…μž…λ‹ˆλ‹€.


🌐 2. HTMLμ—μ„œμ˜ νƒ€μž…(type)

HTML은 μ›Ή νŽ˜μ΄μ§€ ꡬ쑰λ₯Ό μ •μ˜ν•˜λŠ” λ§ˆν¬μ—… μ–Έμ–΄μ΄λ―€λ‘œ,
μ—¬κΈ°μ„œμ˜ “type”은 μš”μ†Œ(attribute, 속성) λ‘œμ„œ,
νƒœκ·Έ(tag)에 따라 λ‹€λ₯Έ 의미λ₯Ό κ°–μŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄:

HTML μš”μ†Œtype μ†μ„±μ˜ μ˜λ―Έμ˜ˆμ‹œ
<input> μž…λ ₯ ν•„λ“œμ˜ μ’…λ₯˜ <input type="text">, <input type="password">, <input type="email">
<button> λ²„νŠΌμ˜ λ™μž‘ 방식 <button type="submit">, <button type="button">
<script> 슀크립트 μ–Έμ–΄μ˜ νƒ€μž… <script type="text/javascript">
<link> μ—°κ²°λœ λ¦¬μ†ŒμŠ€μ˜ MIME νƒ€μž… <link rel="stylesheet" type="text/css">

πŸ’‘ 즉, HTMLμ—μ„œμ˜ "type"은 νƒœκ·Έμ— 따라 λ™μž‘μ΄λ‚˜ λ¦¬μ†ŒμŠ€ ν˜•μ‹μ„ κ΅¬λΆ„ν•˜λŠ” μ†μ„±μž…λ‹ˆλ‹€.


πŸ” μš”μ•½ 비ꡐ

ꡬ뢄PostgreSQLHTML
μ—­ν•  데이터 ν˜•μ‹ μ •μ˜ νƒœκ·Έ μ†μ„±μœΌλ‘œ λ™μž‘/ν˜•μ‹ μ§€μ •
μ˜ˆμ‹œ VARCHAR, INTEGER, BOOLEAN type="text", type="submit"
적용 λŒ€μƒ ν…Œμ΄λΈ” 컬럼 HTML νƒœκ·Έ(attribute)
의미 λ°μ΄ν„°μ˜ ꡬ쑰 μš”μ†Œμ˜ 행동 λ˜λŠ” λ¦¬μ†ŒμŠ€ ν˜•νƒœ

βœ… κ²°λ‘ 

  • PostgreSQL의 νƒ€μž…μ€ “λ°μ΄ν„°μ˜ μ’…λ₯˜”
  • HTML의 νƒ€μž…μ€ “νƒœκ·Έ 속성(attribute)으둜 의미λ₯Ό κ΅¬λΆ„ν•˜λŠ” μ—­ν• ”
    즉, 같은 단어라도 λ¬Έλ§₯에 따라 μ „ν˜€ λ‹€λ₯Έ κ°œλ…μž…λ‹ˆλ‹€.