[JAVA] °­ÁÂ 10



|10ÀÏÂ÷|



°´Ã¼ÁöÇâ ÇÁ·Î±×·¥¹Ö¿¡¼­ °´Ã¼°£ÀÇ ¸Þ¼¼Áö Àü´Þ
°´Ã¼°£ÀÇ Åë½Å¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸ÀÚ

°´Ã¼°£ÀÇ Åë½ÅÀº message ¿¡ ÀÇÇؼ­ ÀÇ»çÀü´ÞÀ» ÇÑ´Ù. ÀÌ·¯ÇÑ message¸¦ Áشٴ °ÍÀº ±× °´Ã¼¿¡°Ô ÀÖ´Â method¸¦ È£ÃâÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ·¯ÇÑ °´Ã¼°£ÀÇ Åë½ÅÀº ÁßÀçÀÚ°¡ ¹Ýµå½Ã ÀÖ¾î¾ß ÇÑ´Ù.
ÀÌ·¯ÇÑ ÁßÀçÀÚ´Â ÁßÀçÀÚ°¡ ¸Þ¼¼Áö¸¦ Àü´ÞÇÏ°íÀÚ ÇÏ´Â °´Ã¼¸¦ Æ÷ÇÔÇÏ°í ÀÖ¾î¾ß ÇÑ´Ù.
¾ÆÁÖ °£´ÜÇÑ °æ¿ì¿¡ ÀÌ·¯ÇÑ ÁßÀçÀÚ´Â main method°¡ µÈ´Ù.

°´Ã¼°£ÀÇ Åë½ÅÀº ¾î¶² class¿¡ °´Ã¼°¡ ¼ÓÇÒ ¶§ ÀÌ·ç¾îÁú ¼ö ÀÖ´Ù.

class A {
 String name;
 void À̸§ÀºÀÌ°É·ÎÇÏ·Å (String name) {
    this.name = name;
 }
 String ³ÊÀ̸§¹¹¾ß() {
    return name;
 }
}
class B {
 public static void main(String[] args) {
    A °øºÎÇϴ»ç¶÷ = new A();
    A ¶°µå´Â»ç¶÷   = new A();
    °øºÎÇϴ»ç¶÷.À̸§ÀºÀÌ°É·ÎÇÏ·Å("°­½Åµ¿");
    ¶°µå´Â»ç¶÷.À̸§ÀºÀÌ°É·ÎÇÏ·Å("µàÅ©");
    System.out.println("°øºÎ¸¦ ¿­½ÉÈ÷ ÇÏ´Â »ç¶÷Àº " +
                        °øºÎÇϴ»ç¶÷.³ÊÀ̸§¹¹¾ß() + " ÀÔ´Ï´Ù.");



µÉ ¼ö ÀÖÀ¸¸é º¯¼öÀ̸§À̳ª Ŭ·¡½ºÀ̸§, instanceÀ̸§Àº ¿µ¹®À» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀ» °Í °°½À´Ï´Ù.

=========================================================

ÀϹÝÀûÀÎ °´Ã¼°£ÀÇ Åë½Å¹æ¹ýÀ» ¾Ë¾Æº¸°Ú½À´Ï´Ù.

class Eye {
 double ½Ã·Â = 1.0;
 void set½Ã·Â(double ½Ã·Â) {
    this.½Ã·Â = ½Ã·Â;
 }
 double get½Ã·Â() {
    return ½Ã·Â;
 }
}
class Man {
 Eye ¿ÞÂÊ´«   = new Eye();
 Eye ¿À¸¥ÂÊ´« = new Eye();
 String ¸ð¹ß»ö»ó = "°ËÀº»ö";
 void set¸ð¹ß»ö»ó(String ¸ð¹ß»ö»ó) {
    this.¸ð¹ß»ö»ó = ¸ð¹ß»ö»ó;
 }
 String get¸ð¹ß»ö»ó() {
    return ¸ð¹ß»ö»ó;
 }
 void set¿ÞÂÊ´«½Ã·Â  (double ½Ã·Â) {
    ¿ÞÂÊ´«.set½Ã·Â(½Ã·Â);
 }
 void set¿À¸¥ÂÊ´«½Ã·Â (double ½Ã·Â) {
    ¿À¸¥ÂÊ´«.set½Ã·Â(½Ã·Â);
 }
 double get¿ÞÂÊet¿À¸¥ÂÊ´«½Ã·Â() + " ÀÔ´Ï´Ù.");
    System.out.println();
    System.out.println("ȯÀÚ2´Ô ¿ÞÂÊ´«½Ã·ÂÀº " +
                        È¯ÀÚ2.get¿ÞÂÊ´«½Ã·Â() + " ÀÔ´Ï´Ù.");
    System.out.println("ȯÀÚ

2´Ô ¿À¸¥ÂÊ´«½Ã·ÂÀº " +
                        È¯ÀÚ2.get¿À¸¥ÂÊ´«½Ã·Â() + " ÀÔ´Ï´Ù.");
 }
}


½ÇÇà°á°ú´Â ¾Æ·¡¿Í °°´Ù.

C:\Java ¿¬½À\OOP>java Doctor
ȯÀÚ1´Ô ¸Ó¸®»öÀº »¡°­»ö ÀÔ´Ï´Ù.
ȯÀÚ2´Ô ¸Ó¸®»öÀº °ËÀº»ö ÀÔ´Ï´Ù.

ȯÀÚ1´Ô ¿ÞÂÊ´«½Ã·ÂÀº 0.3 ÀÔ´Ï´Ù.
ȯÀÚ1´Ô ¿À¸¥ÂÊ´«½Ã·ÂÀº 1.0 ÀÔ´Ï´Ù.

ȯÀÚ2´Ô ¿ÞÂÊ´«½Ã·ÂÀº 1.0 ÀÔ´Ï´Ù.
ȯÀÚ2´Ô ¿À¸¥ÂÊ´«½Ã·ÂÀº 0.1 ÀÔ´Ï´Ù.



À§ÀÇ ¿¹Á¦¿¡¼­ °´Ã¼ÁöÇâÀÇ °­·ÂÇÔÀÌ ³ªÅ¸³­´Ù. ¿ì¸®°¡ Doctor¶ó´Â ¸Å´ÏÀú¸¦ ¸¸µé°íÀÚ ÇÒ ¶§ ManÀ̳ª Eye°¡ ¸¸¾à ÀÌÀü¿¡ ¸¸µé¾î ³õÀº Ŭ·¡½º°¡ Á¸ÀçÇÑ´Ù°í Çϸé class ManÀ̳ª class EyeÀÇ method(Áï,¸Þ½ÃÁö)»ç¿ë¹æ¹ý¸¸À» ¿ä±¸ÇÑ´Ù.
ÇϳªÀÇ class Eye¿¡¼­ ¿ÞÂÊ´«°ú ¿À¸¥ÂÊ´«ÀÇ µÎ°³ÀÇ instance¸¦ ½±°Ô ¸¸µé ¼ö ÀÖ´Ù.
class Man¿¡¼­ set¿ÞÂÊ´«½Ã·Â() À» »ç¿ëÇÒ ¶§ ´Ù½Ã ÄÚµùÇÒ ÇÊ¿ä°¡ ¾øÀÌ class EyeÀÇ set½Ã·Â() À» ´Ù½Ã È£Ãâ½ÃÅ´À¸·Î½á °£´ÜÇÏ°Ô ÇØ°áµÉ ¼ö ÀÖ´Ù. À§ÀÇ ¿¹Á¦´Â °´Ã¼ÁöÇâÀÇ °ÅÀǸðµç Àǹ̸¦ ³»Æ÷ÇÏ°í ÀÖ´Ù. µû¶ó¼­ À§ÀÇ ¿¹Á¦¸¦ È®½ÇÈ÷ ÀÌÇØÇϱ⠹ٶø´Ï´Ù.



´ÙÀ½¿¡´Â Method¿¡ ´ëÇÑ ³»¿ëÀÌ ¿Ã¶ó¿Ã ¿¹Á¤ÀÔ´Ï´Ù.