πToday I Learned
Git μ€μ
νμ μ»΄ν¨ν°μ user.nameκ³Ό user.emailμ λ³κ²½νλ€.
$ git config --global user.name 'eeunha'
$ git config --global user.email 'wnth'
Java μμ
βEx36~37 Class
μΈμ΄μ μ±ν₯
- μ μ°¨ μ§ν₯ νλ‘κ·Έλλ°
- ν¨μ μ§ν₯ νλ‘κ·Έλλ°
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°
μλ°
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ° μΈμ΄, Object Oriented Programming (OOP)
- κ°μ²΄λ₯Ό μ νΈνλ νλ‘κ·Έλλ° λ°©μμ μΈμ΄
ν΄λμ€, Class
-
κ°μ²΄, Object
μ¬μ μ μΈ μ μλ‘ μ€μ μ‘΄μ¬νλ κ²μ λ§νλ€.
κ°μ²΄μ§ν₯ μ΄λ‘ μμλ μ¬λ¬Όκ³Ό κ°μ μ νμ μΈ κ²λΏλ§ μλλΌ, κ°λ
μ΄λ λ
Όλ¦¬μ κ°μ 무νμ μΈ κ²λ€λ κ°μ²΄λ‘ κ°μ£Όνλ€.
-
ν΄λμ€, Class
κ°μ²΄λ₯Ό λΆλ₯νλ λ¨μμ΄λ©° κ°μ²΄λ₯Ό μμ±νλ λ¨μμ΄λ€.
-
μΈμ€ν΄μ€, Instance
κ°μ²΄λΌκ³ λ νλ©° μΈμ€ν΄μ€λΌκ³ λ 보λ κ²½μ°κ° μλ€. μμΈνλ λμ€μ λ°°μ°λ μΌλ¨μ λκ°κ° λΉμ·νλ€κ³ μκ°νμ.
-
μΊ‘μν, μ 보μλ
κ°μ²΄μ λ΄λΆλ₯Ό μΈλΆλ‘λΆν° 보νΈνκΈ° μν μ₯μΉ
-
μΈν°νμ΄μ€, Interface
μΊ‘μνλ λ΄λΆμ μΈλΆκ°μ μ΅μνμ μ°κ²°μ΄ κ°λ₯ν ν΅λ‘ μν μ νλ€.
ex) κ²μ μΈν°νμ΄μ€
κ°μ²΄ = λ°μ΄ν° + νλ μ μ§ν©
-
νλ‘νΌν°
κ°μ²΄κ° κ°μ§λ μ 보(λ°μ΄ν°)
-
νλ
κ°μ²΄κ° κ°μ§λ νλ
-
μμ
λΆλͺ¨κ° κ°μ§λ μ¬μ°μ μμμ΄ λ¬Όλ €λ°λ νλ
λ³μλ₯Ό μ μ₯νλ λ°©λ²
Case 1. λ³μλ₯Ό μμ±ν΄ 리ν°λ΄μ λ£κΈ°.
- κ°μ₯ κ°λ¨ν λ°©λ²
- μλ³μ λ¬Έμ κ° λ°μνλ€.
a. κ°μ μ±μ§μ μλ³μκ° μλ‘ λ€λ₯Έ μ΄λ¦μ μ¬μ©
b. ν μμ μ§ν© > 물리μ κ΄λ¦¬ λΆκ°λ₯ > μΉλͺ
μ
-> ꡬ쑰(x), κ·μΉ(μ 맀) > μ‘°μ λΆνΈ
Case 2. λ°°μ΄ μ¬μ©νκΈ°
- λ°μ΄ν° μ μ₯ ꡬ쑰 μμ± > κ·Έλ£Ή > κ΄λ¦¬ μμ
- λ°°μ΄ λ¨μ > μμκ°μ μ±μ§μ ꡬλΆνκΈ° νλ€λ€. > 첨μ μ¬μ© > 첨μλ μλ―Έλ₯Ό κ°μ§μ§ λͺ»νλ€. > λͺ λ²μ§Έ λ°©μ μ΄λ€ λ°μ΄ν°λ₯Ό λ£μλμ§ κ΄λ¦¬κ° νλ€λ€. > λ°°μ΄μ κ°μ νμ
μ κ°μ μ±μ§μ λ°μ΄ν° μ§ν© (-> λ°°μ΄ μ체μ λ¨μ μ μλκ³ μ΄ μν©μμμ λ¨μ μ΄λ€.)
Case 3. ν΄λμ€ μ¬μ©νκΈ°
- ν΄λμ€ μ¬μ© > λ°μ΄ν° μ§ν©(***)
- λ°μ΄ν° μ μ₯ ꡬ쑰 μμ± > κ΄λ¦¬ μμ
- κ°μ ν΄λμ€μ κ°μ²΄ > λ©€λ² μ΄λ¦μ΄ λμΌ > λ°μ΄ν° μλ―Έ λͺ
ν
- λ©€λ² λ³μμ μ΄λ¦μ΄ μ‘΄μ¬ > x, y > λ°°μ΄κ³Ό λ¬λ¦¬ λ©€λ²μ μλ―Έ λͺ
ν
- ν΄λμ€ μ μΈ λΉμ© λ°μ(κ³ κ°) > κ°λ°μ ν μΌ μ¦κ°
μ΄ν΄λ¦½μ€ > νμ₯ νλ‘κ·Έλ¨(Plugin-in)
- μ§μ μ€μΉ
- λ§μΌ νλ μ΄μ€
Objectaid > UML νμ₯ νλ‘κ·Έλ¨
UML, Unified Modeling Language
- νλ‘κ·Έλ¨μ μ€κ³λλ₯Ό λ§λλ μΈμ΄
- μλ§μ μ’
λ₯μ μ€κ³λ
a. Class Diagram
b. Package Diagram
c. Object Diagram
d. Component Diagram
e. Sequence Diagram
f. UseCase Diagram
g. Activity Diagram
h. State Diagram ...
Drag & Drop μΌλ‘ μμ±νλ€.
ν΄λμ€(κ°μ²΄) = λ°μ΄ν°(λ©€λ² λ³μ) + νλ(λ©μλ)
ν΄λμ€ μ μΈνκΈ°
-> λΆμ΄λΉ΅ ν λ§λ€κΈ°
- ν΄λμ€λͺ
> νμ€μΉΌ νκΈ°λ²
ν΄λμ€ λ΄λΆ
ν΄λμ€ λ©€λ² μ μΈ > λ³μ or λ©μλ κ°λ₯
ν΄λμ€μ μμ±λ λ³μλ₯Ό ν΄λμ€ λ©€λ² λ³μλΌκ³ νλ€.
ν΄λμ€ λ©€λ²
- λ³μ -> ν΄λμ€ λ©€λ² λ³μ > νλ‘νΌν°, νΉμ±
- λ©μλ -> ν΄λμ€ λ©€λ² λ©μλ > νΈμΆλλ κ°μ²΄μ λ°λΌ λ€λ₯Έ κ²°κ³Όκ° λ°μνλ€. (μ€μ! ν΄λμ€ λ©€λ² λ©μλλ λλλ‘(νμ) λ©€λ² λ³μλ₯Ό νμ©ν΄μ νλμ ν΄μΌ νλ€.)
κ°μ±μ΄ μλ λ©μλ > κ°μ²΄κ°μ νλ ꡬλΆμ΄ λΆκ°λ₯νλ€.
ν΄λμ€μμ λ©€λ² λ³μ μμ΄ λ©€λ² λ©μλλ§ μ‘΄μ¬νλ κ²½μ°, μ΄λ₯Ό νλ ν΄λμ€λΌκ³ νλ©° κ°μ²΄λ₯Ό μ¬λ¬ κ° μμ°νμ§ μκ³ λ¨ νλλ§ μμ°νλ€.
λ°λμ μ§ν¬ κ·μΉ
- νμΌμ μ΄λ¦κ³Ό ν΄λμ€μ μ΄λ¦μ΄ λ°λμ λμΌν΄μΌ νλ€. > μ»΄νμΌ μλ¬
ν νμΌ λ΄μμ 2κ° μ΄μμ ν΄λμ€λ₯Ό λ§λ€ λ
- νμΌ λ΄μ λͺ¨λ ν΄λμ€ μ€ public ν€μλλ₯Ό κ°μ§λ ν΄λμ€λ λ°λμ λ± 1κ°(μ μΌ)
- public ν΄λμ€κ° λν ν΄λμ€ μν > λν ν΄λμ€μ μ΄λ¦μ΄ νμΌλͺ
μ΄ λλ€.
ν΄λμ€ μ μΈ > κΆμ₯ μ¬ν
- ν΄λμ€ 1κ°λΉ 물리μ μΈ νμΌ 1κ°λ₯Ό λ§λ λ€.
- νλμ *.java μμ μ¬λ¬ κ°μ ν΄λμ€λ₯Ό μ μΈνμ§ λ§μ.
ν΄λμ€λ κ°μ ν¨ν€μ§ λ΄μ λμΌν μ΄λ¦μ 2κ° μ΄μ κ°μ§ μ μλ€.
- ν΄λμ€μ μμμ ν¨ν€μ§μ΄λ€.
- ν΄λμ€μ μμμ 물리μ μΈ νμΌμ΄ μλλ€.(μ€μ!)
βEx39_Access
μ κ·Ό μ§μ μ(μ μ΄μ), Access Modifier
- ν΄λμ€ λ©€λ²μ λΆμ¬μ μ¬μ©νλ€. > λ©€λ² λ³μ, λ©€λ² λ©μλ > μ€λ
- ν΄λμ€ μ체μ λΆμ¬μ μ¬μ©νλ€.
- μ§μλ³μμλ μ¬μ©μ΄ λΆκ°λ₯νλ€.
- ν΄λμ€(κ°μ²΄)μ μμμ κΈ°μ€μΌλ‘, μΈλΆμ ν΄λΉ λ©€λ²λ₯Ό μ΄λ»κ² λ
ΈμΆν μ§ ν΅μ νλ μν . > 보μ μμ€ μ μ΄
- public - κ°μ₯ κ°λ°©μ . ν΄λΉ ν΄λμ€ μΈλΆμ μ΄ λ©€λ²λ₯Ό 곡κ°νκ² λ€.
- private - κ°μ₯ νμμ . ν΄λΉ ν΄λμ€ μΈλΆμ μ΄ λ©€λ²λ₯Ό λΉκ³΅κ°νκ² λ€. > μ? > λ΄λΆ μ μ© λ³μ (μ΄μ 1. μνν΄μ 2. 곡κ°ν νμκ° μμ΄μ)
- protected > μμ
- default > ν¨ν€μ§
(3, 4λ μΆν λ°°μΈ κ²)
κ°μ ν΄λμ€ λ΄λΆμμλ... > κ°μ λ©€λ²λΌλ¦¬λ > μ κ·Ό μ§μ μκ° λμνμ§ μλλ€. > μμ μλ―Έκ° μλ€.
μ κ·Ό μ§μ μ > κ°μ΄λ λΌμΈ(μν©λ΄μ λ³κ²½ κ°λ₯νλ€.)
- λ©€λ² λ³μλ 무쑰건 privateμ μ¬μ©νλ€.
- Getter/Setterλ₯Ό ꡬννλ€.
privateμΌλ‘ λ λ³μμ μ κ·Όνκ³ μΆλ€λ©΄?
-> Getter/Setter λ©μλλ₯Ό λ§λ€μ΄ μ κ·Όνλ€.
Setter/Getter > κ°μ²΄ λ΄μΈλΆλ₯Ό μ°κ²°νλ ν΅λ‘ > μΈν°νμ΄μ€ μν > νλ‘νΌν°(Property)
Setter
- setλ©€λ²λ³μλͺ
- return void
Getter
- getλ©€λ²λ³μλͺ
- return κ°
μ€μ! μμμ΄ ν° μμμ μμμ΄ μμ μμκ° μΆ©λνλ©΄, λ°λμ μμ μμμ μμλ₯Ό μ°μ νλ€. > λλΆλΆμ νλ‘κ·Έλλ° νκ²½μμ μ μ©
λ©€λ² λ³μ > ν΄λμ€ μ μ > title
μ§μ λ³μ > λ©μλ μ μ > title -> μ°μ
this μ°μ°μ
- κ°μ²΄ μ κ·Ό μ°μ°μ
- 'λ'> κ°μ²΄ μκΈ° μμ μ κ°λ¦¬ν€λ νν(μμ½μ΄)
κ³μ°λ νλ‘νΌν°
-> getterμ setterλ κΈ°λ³Έμ μΌλ‘ private λ©€λ² λ³μλ₯Ό μ‘°μνμ§λ§, κ·Έκ² νμκ° μλλ€. > λ©€λ²λ³μμ 무κ΄(?)ν getterμ setterλ₯Ό λ§λ€κΈ°λ νλ€.
λ¬Έμ νμ΄
92~94κΉμ§ νμλ€. λ§λ°©μ§(79λ²)μ νκ³ μλ€. ν΄λμ€ λ¬Έμ λ ν΄λΉ λ¬Έμ λ§λ€ ν¨ν€μ§λ₯Ό λ§λ€μ΄ νκΈ°λ‘ νλ€.
κ΅μ·¨μ μλ΄ 2νμ°¨
μ§μ
μ νΈλ κ²μ¬(Lν)κ³Ό ꡬμ§μ€λΉλ κ²μ¬ κ²°κ³Όλ₯Ό μ½κ³ μ€λͺ
μ λ€μλ€. λ€μ μλ΄ μ κΉμ§ λ¨κΈ° μ·¨μ
νΉκ°μ λ€μ΄μ€κΈ°λ‘ νμ¬, μ€λ μλ₯μ ν κ°μλ₯Ό νλ μκ°νλ€.