๋ชฉ๋กKITRI/JAVA (35)
๐ป
[์ฐธ๊ณ ] ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ ๋ฐฉ๋ฒ 1. ํ๋ก์ ํธ ํด๋ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ์ฐํด๋ฆญ > Export > Java > JAR file 2. ์ํ๋ ํด๋์ค ์ ํ> next > finish ๋ค๋ฅธ ํด๋์์ ์์ฑํ ํด๋์ค๋ฅผ importํ์ฌ ์ฌ์ฉํ ์ ์๋ค. import api01.Object.(ํด๋์ค๋ช ); ๊ฐ์ฒด ๋น๊ต equals() : Object ํด๋์ค์ eqauls() ๋ฉ์๋๋ ๋น๊ต ์ฐ์ฐ์์ธ ==์ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ๋ค. ๋ ๊ฐ์ฒด๊ฐ ๋์ผํ ๊ฐ์ฒด๋ผ๋ฉด true๋ฅผ ๋ฆฌํดํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฆฌํดํ๋ค. ๊ฐ์ฒด ๋ฌธ์ ์ ๋ณด toString() : Objectํด๋์ค์ toString() ๋ฉ์๋๋ ๊ฐ์ฒด์ ๋ฌธ์ ์ ๋ณด๋ฅผ ๋ฆฌํดํ๋ค. ๊ฐ์ฒด์ ๋ฌธ์ ์ ๋ณด๋ ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ํํํ ๊ฐ์ ๋งํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Objectํด๋์ค์ toStrin..
starUML> http://staruml.io/ StarUML UML 2 Compatible with UML 2.x standard metamodel and diagrams: Class, Object, Use Case, Component, Deployment, Composite Structure, Sequence, Communication, Statechart, Activity and Profile Diagram. Additional Diagrams Support to create Entity-Relationship staruml.io draw.io> http://www.draw.io/ Flowchart Maker & Online Diagram Software Flowchart Maker and Onl..
๊ฐ์ฒด ํ์ ํ์ธ(instanceof) ๊ฐ์ ํ์ ๋ณํ์ ์์ ํ์ ์ด ๋ถ๋ชจ ํ์ ์ผ๋ก ๋ณํ๋์ด ์๋ ์ํ์์๋ง ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ชจ ํ์ ์ ๋ณ์๊ฐ ๋ถ๋ชจ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ๊ฒฝ์ฐ ์์ ํ์ ์ผ๋ก ๋ณํํ ์ ์๋ค. Parent parent = new Parent(); Child child = (Child) Parent; //๊ฐ์ ํ์ ๋ณํ์ ํ ์ ์๋ค. Parent parent = new Child(); //upCasting Child child = (Child) Parent; //๊ฐ์ ํ์ ๋ณํ์ ํ ์ ์๋ค. downCasting ๊ทธ๋ ๋ค๋ฉด ๋ถ๋ชจ ๋ณ์๊ฐ ์ฐธ์กฐํ๋ ๊ฐ์ฒด๊ฐ ๋ถ๋ชจ ๊ฐ์ฒด์ธ์ง ์์ ๊ฐ์ฒด์ธ์ง ์ด๋ป๊ฒ ํ์ธํ ๊น? ์ด๋ค ๊ฐ์ฒด๊ฐ ์ด๋ค ํด๋์ค์ ์ธ์คํด์ค์ธ์ง ํ์ธํ๋ ค๋ฉด instanceof ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์..
ํด๋์ค๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ์ฌ์ฉ -> ์์กด๊ด๊ณ ๊ฐ์ฒด๋ฅผ ๋ฉค๋ฒ๊ฐ์ฒด(ํ๋)๋ก ์ฌ์ฉ => ์ฐ๊ด๊ด๊ณ ๊ด๊ณ(Relationship) 1. ์ ์ - ๊ตฌ์ฑ์์๋ค๊ฐ์ ์๋ฏธ ์๋ ์ฐ๊ด์ฑ์ ํํ - ์ผ๋ฐ์ ์ผ๋ก ํด๋์ค๋ค๊ฐ์ ๊ด๊ณ ํํ ์ ์ฌ์ฉ๋๋ค. 2. ์ข ๋ฅ ์ผ๋ฐํ๊ด๊ณ(Generalization Relationship) ์ค์ฒดํ, ์คํํ ๊ด๊ณ(Realization Relationship) ์์กด๊ด๊ณ(Dependency Relationship) ์ฐ๊ด๊ด๊ณ(Association Relationship) ์งํฉ์ฐ๊ด(Aggregation Relationship) ๋ณตํฉ์ฐ๊ด(Composition Relationship) -> ์งํฉ์ฐ๊ด๊ด๊ณ์ ๋ณตํฉ์ฐ๊ด๊ด๊ณ๋ ์ค๊ณ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค. Dependency(์์กด๊ด๊ณ) ์๋ช ์ฃผ๊ธฐ๊ฐ ๊ฐ๋ค. ํด๋์ค ์์ ๋ฉ์๋์ ๋งค๊ฐ๋ณ..
์์ 1) RAM ๊ตฌ์กฐ heap stack new AA()... 0x100 a 0x100 b 0x100 c 0x100 d 0x100 new AA()... 0x200 x 0x200 y 0x200 b, c, d ์๋ก ํ ๋น ๋ฐ์ง ์๊ณ ์ฃผ์๊ฐ์ ์ฐธ์กฐํ๋ค. new๋ผ๋ ํค์๋๋ก ๊ฐ์ฒด๋ฅผ ๋ฐ์ํ๋ฉด ์๋ก์ด ๊ณต๊ฐ์ ํ ๋น ๋ฐ๋๋ค. b.func() ์ด ์คํ๋๋ ์ด์ ๋ a=null; ๋ก ํด์ค๋ b๋ ์ฃผ์๊ฐ์ ์ฐธ์กฐํ๊ธฐ๋๋ฌธ์ด๋ค. RAM heap stack a null b null c null d null new AA()... 0x200 x 0x200 y 0x200 ๋ฉ๋ชจ๋ฆฌ๋ constant, heap, stack ์์ญ์ด ์กด์ฌ. constanct : static. ์ข ๋ฃ๊น์ง ์ด์์๋ค. stack : ๋ธ๋ญ๋จ์๋ก ์กด์ฌํ๋ค. heap : n..
์ธํฐํ์ด์ค(interface) : ์ธํฐํ์ด์ค๋? ์ผ์ข ์ ์ถ์ํด๋์ค์ด๋ค. ์ธํฐํ์ด์ค๋ ์ถ์ํด๋์ค์ฒ๋ผ ์ถ์๋ฉ์๋๋ฅผ ๊ฐ์ง๋ง ์ถ์ํด๋์ค๋ณด๋ค ์ถ์ํ ์ ๋๊ฐ ๋์์ ์ถ์ํด๋์ค์ ๋ฌ๋ฆฌ ๋ชธํต์ ๊ฐ์ถ ์ผ๋ฐ ๋ฉ์๋ ๋๋ ๋ฉค๋ฒ๋ณ์๋ฅผ ๊ตฌ์ฑ์์ผ๋ก ๊ฐ์ง ์ ์๋ค. ์ค์ง ์ถ์๋ฉ์๋์ ์์๋ง์ ๋ฉค๋ฒ๋ก ๊ฐ์ง ์ ์์ผ๋ฉฐ, ๊ทธ ์ธ์ ๋ค๋ฅธ ์ด๋ ํ ์์๋ ํ์ฉํ์ง ์๋๋ค. ์ถ์ํด๋์ค๋ฅผ ๋ถ๋ถ์ ์ผ๋ก๋ง ์์ฑ๋ '๋ฏธ์์ฑ ์ค๊ณ๋' ๋ผ๊ณ ํ๋ค๋ฉด, ์ธํฐํ์ด์ค๋ ๊ตฌํ๋ ๊ฒ์ ์๋ฌด ๊ฒ๋ ์๊ณ ๋ฐ๊ทธ๋ฆผ๋ง ๊ทธ๋ ค์ ธ ์๋ '๊ธฐ๋ณธ ์ค๊ณ๋' ๋ผ๊ณ ํ ์ ์๋ค. - ์๋ฐ์์ ์ธํฐํ์ด์ค๋ ๊ฐ์ฒด์ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ ์ํ ํ์ ์ด๋ค. - ๊ฐ์ฒด์ ๊ตํ์ฑ์ ๋์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ๋คํ์ฑ์ ๊ตฌํํ๋ ์ค์ํ ์ญํ ์ ํ๋ค. - (ํด๋์ค๋ ํ๋, ์์ฑ์, ๋ฉ์๋๋ฅผ ๊ตฌ์ฑ ๋ฉค๋ฒ๋ก ๊ฐ์ง๋๋ฐ) ์ธํฐํ์ด์ค๋..
abstract ์ด ์ฌ์ฉ๋ ์ ์๋ ๊ณณ - ํด๋์ค, ๋ฉ์๋ ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ ์ ์๋ ํด๋์ค๋ฅผ ์ค์ฒด ํด๋์ค๋ผ๊ณ ํ๋ค๋ฉด ์ด ํด๋์ค๋ค์ ๊ณตํต์ ์ธ ํน์ฑ์ ์ถ์ถํด์ ์ ์ธํ ํด๋์ค๋ฅผ ์ถ์ ํด๋์ค๋ผ๊ณ ํ๋ค. ์ถ์ํด๋์ค์ ์ค์ฒด ํด๋์ค๋ ์์์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ถ์ํด๋์ค๊ฐ ๋ถ๋ชจ์ด๊ณ ์ค์ฒด ํด๋์ค๊ฐ ์์์ผ๋ก ๊ตฌํ๋์ด ์ค์ฒด ํด๋์ค๋ ์ถ์ ํด๋์ค์ ๋ชจ๋ ํน์ฑ์ ๋ฌผ๋ ค๋ฐ๊ณ , ์ถ๊ฐ์ ์ธ ํน์ฑ์ ๊ฐ์ง ์ ์๋ค. ์ฌ๊ธฐ์ ํน์ฑ์ด๋ ํ๋์ ๋ฉ์๋๋ฅผ ๋งํ๋ค. ์ถ์ ํด๋์ค๋ฅผ ๋ง๋๋ ์ด์ ? 1) ์ค์ฒด ํด๋์ค๋ค์ ๊ณตํต๋ ํ๋์ ๋ฉ์๋์ ์ด๋ฆ์ ํต์ผํ ๋ชฉ์ 2) ์ค์ฒด ํด๋์ค๋ฅผ ์์ฑํ ๋ ์๊ฐ์ ์ ์ฝ ๋ถ๋ชจํด๋์ค์์ ์ ์๋ง ํ๊ณ ๊ตฌํํ์ง ์๋๋ค. ์์ํด๋์ค์์ ํจ์์ฌ์ ์ ํด์ค๋ค.(๋ฐ๊ฐ์ ) ์ถ์ํจ์๋ฅผ ํ๋๋ผ๋ ๊ฐ์ง๊ณ ์์ผ๋ฉด ์ถ์ํด๋์ค๋ก ํ์ํด์ผํ..
ํด๋์ค์ ํน์ง 3๊ฐ์ง โ ์๋ํ -> public ๋ณด๋ค private๋ฅผ ์ฌ์ฉํ๋ค. โก ์ค๋ณต์ฑ -> ์ค๋ณต (ํจ์์ค๋ณต/์์ฑ์์ค๋ณต) โข ์์์ฑ -> ๋ถ๋ชจํด๋์ค์ ๋ฉค๋ฒ๋ฅผ ์์์๊ฒ ๋ฌผ๋ ค์ค๋ค. ์๋ฐ์์ ๋ง๋ค์ด์ง ๋ชจ๋ ํด๋์ค๋ Object ํด๋์ค๋ฅผ ์์๋ฐ๋๋ค. ์๋ฐ๋ ๋ค์ค ์์์ ํ์ฉํ์ง ์๋๋ค. ์ฆ, ์ฌ๋ฌ ๊ฐ์ ๋ถ๋ชจํด๋์ค๋ฅผ ์์ํ ์ ์์ผ๋ฏ๋ก extends ๋ค์๋ ํ๋์ ๋ถ๋ชจํด๋์ค๋ง ์์ผํ๋ค. ์์ : ์์์ด๋? ๊ธฐ์กด์ ํด๋์ค๋ฅผ ์ฌ์ฌ์ฉํ์ฌ ์๋ก์ด ํด๋์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค. ์์์ ํตํด์ ํด๋์ค๋ฅผ ์์ฑํ๋ฉด ์ ์ ์์ ์ฝ๋๋ก ์๋ก์ด ํด๋์ค๋ฅผ ์์ฑํ ์ ์๊ณ ์ฝ๋๋ฅผ ๊ณตํต์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฝ๋์ ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ์ด ์ฉ์ดํ๋ค. ์ด๋ฌํ ํน์ง์ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ณ ์ฝ๋์ ์ค๋ณต์ ์ ๊ฑฐํ์ฌ ํ๋ก๊ทธ๋จ์ ์์ฐ์ฑ๊ณผ ์ ์ง๋ณด..