�ڹٷ��ϴ� ���α׷��� 1�����: �̱��� Java ���α׷��ֿ����� ù��°�Դϴ�. ���� ����� �ڹٿ� �� �Ϲ����� Ư¡ �� ������ ������ ��𿡼� � �� �� �ִ°��� �̾߱��մϴ�. ���±�Java ���α׷��� ���� ����ȯ���� ������ ���縦 �����Ѵ�. ù ��ǥ�μ� ���, ����ũ�ο��̺�, ��Ź���� ��Ͽ� ���Ͽ� �߿��ϰ� ������ ���� ���̴�(���� ���ǹ�, ��մ� ������ �д� �� ���� ��̸� �����������ص�). ������ ���뿡 ���� ���� ���� �Ŵ��� �ڿ� �ﰢ�� ����� ��ü�� ���� ���� ������ ��ũ(Java ������Ʈ)�� ���� �̱� ������п�È�� �����ϴ� ������� ���� ���� ���� ���� ���̴�. Java ������ �ణ�� ��È�� �ִ�. �װͿ� ���� ��ġ�� ��� ��ǻ�� ������ ��������, Java ���ø��� ������Ų ��ǰ�� �Ǹ��ϴ� ���� ����Ʈ���� ȸ�簡 �ְ�, ��� web ����Ʈ�� Java ���ø��̳� �� �̻��� ������ ���� �ʴ�. �� ���縦 ���Ͽ�, �⺻���� ���� ���������� ���ÿ� ���� �����ϰ�, ���Ӿ��� �����ϰ� �ֱ� ������ ����� �� ���α׷��� �� ���а� ���� ���� ������ �� ���� �����Ϸ��� ����� ���̴�. ù��° ������ ��ǥ�� �Ϲ������� ����� ����� ������ �Ŀ� ���ø�, network ���� ������Ʈ, JDBC��� ���� ���� ������ �ɵ��ְ� ������ ���̴�. Java�� ���� ����� ���� web�������� ���� ���ø��� �ſ� �α� �ְ� ����� ������ ��Ÿ������ ������ �ʴ´ٴ� ���� ������ ���̴�. Java ���ø����� �� ��̸� ���� �ִ� ���� �ٸ� ��ü ������ ���� �ڹ��� ������ ������ ���� ����. �� ù��° ����� �������̶�� ���ٴ� ������̴�. ������ �ۿ��� ���� ����ȯ���� �⺻���� Ư������ Ž���� ���̴�. ���� �ϳ��� �ڹ��� ���α׷��� ���� ������ �� ���̴�. ���Java�� 1991�� ó�� 18���� ���� Sun Microsystem Inc.�� �ִ� James Gosling, Patrick Naughton, Chis Warth, Ed Frank, Mike Sherindan�� ���� ����Ǿ� ����. 1992��� 1995�� ���̿� Bill Joy, Arthur Van Hoff, Jonathan Payne, Frank Yellia, Tim Lindolm�� �ʱ� ����ƮŸ��(prototype)�� �������� �����Ͽ� �ϼ��Ͽ���. >�� ��¥��κ���, Java�� WWW�� �����̰ų� ��� ���ÿ� ������� ���� �и��ϴ�. -- 1991���� �� �� ���� Tim Berner Lee�� HTML�� �������� �ʾҴ�. Java�� ������ C�� �ſ� ����ϰ� ��ü ���� Ư���� ���� C++ ���� ����ϴ�. Java�� �������� ���������� �ϰ��Ǵ� ���α׷��� ����̴�. C�� C++�� ���� ���缺���� Java�� ���ͳ��� ���� C++�� ������ ��� �� ���� ������, �߿��� �̷а� �������� ���̴� �ִ�. Ư��, Java�� C++�� ���� ��, ��ü���� ������ �����ϰ� ��È�Ͽ���. ���ͳ��� �Ϲ������� �˷��� ���� ����� �ڹٸ� �����߰� ���ÿ�, �������� ���̹������̽����� �̵��� �� �ִ� ������Ʈ�� ������ ���� ���ķ� �ڹٴ� ���ͳݿ� ���� ȿ���� ������ �Ǿ���(������ �ڵ� ���� ���α׷�). JAVA�� ��� ��ġ�ϱ�Java ���α׷����� �ϱ����� �������� ������ �ִ�. ������� �׻� GNU/LINUX ȯ���� �����Ѵ�.(�Ҿ������ �� ��쿡): ������ ELF�� �⺻���� �䱸�ϴ� Linux Ŀ�� 1.2.13�̳� �� ���� ���� ��ġ�Ѵ�. JDK(Java Development Kit)ȯ��� �ݽ������� ���� 2.0.14�� �� ���� ����, �ؽ�Ʈ �������� ���� Xemacs�� �̿��� ���̴�. �׻� Xwindows �󿡼� �۾��� �� ���̴�. �װ��� �׻� �ʿ����� ��������, ���ߵ� ���ø��� �׷������� �������̽��� ���õ� ���α׷��� ��� ���� �䱸�ϰ� �ȴ�. ������ ������Ʈ�κ��� JDK�������� ���� ���� �� �ִ�: �� ����Ʈ�κ��� ���ϵ��� ���� ���� �ޱ� ���ؼ��� ������ �̷��� ���ʷ� ������ �� �ִ�. �� �� ��, �ֽ� ������ JDK-1.1.3(�� ��縦 ���� ���� ����)�̾�����, ���������� �湮�Ͽ��� ���� �̹� �ű⿡�� ���� 1.19�� ���Ҵ�. ��� ���� ���� �޴´ٸ� 24Mb�� ���� �ָ�! �׷����� �ұ��ϰ� ���� �����ϰ� �ʿ��� ���� �뷫12Mb(�γ�!)�� �����޴´�. gunzip������ file�� ������ Ǭ �ڿ� �������� ������ �� �ִ�. ���� ���丮 /usr/local���� �������� ��ġ�ϸ�, �������丮 /JDK1.1.3�� ������ ���� ���� ���� ���������: /doc HTML ������ ���� ���� /demo �ڹ� ���α׷� ���� /lib ���̺귯�� /bin �� ���丮�� ������ JDK�� �������� �ִ�. /lib ���丮 �ȿ�, "classes.zip"(�� ������ ������ Ǯ�� �ʴ´�)�̶�� ������ ������, �װ��� JDK�� ���� ���� �� �ִ� ������ ��� Ŭ�������� �����մϴ�. ��Ʈ ���丮 �ȿ� "src.zip"�̶�� ������ ������, �װ��� classes.zip�� ���Ե� �ҽ����Ϸ� �����Ѵ�. �׵��� �������� �ʰ�, ���� �������� �������� �������� �����ȴ�. ����ȯ���տ��� ��޵� ��ó�� ���� �������� /bin���丮�� ��ġ�Ѵ�: javac : Java �ҽ����� bytecode�� �������� Java �����Ϸ�. Java : Java �ؼ� ���α׷�. Java bytecode�� �����Ѵ�. jre : Java�� ����� �ٸ� �ؼ� ���α׷�������, ����ڸ� ���Ͽ� ��� �ɼǻ���� �䱸���� �ʴ´�. appletviewer: ���ø��� �˻��ϰ� �����Ѵ�. jdb: �����. javap: Java�� �����ϵ� bytecode ������ ��������. javadoc : ���� ���� ���α׷��� public�� produce�� Ŭ������, �������̽�, ������, �޼ҵ�� �ʵ带 �����ϴ� �Ϸ��� HTML �������� �����Ѵ�. ����, Ŭ������ ���������� ��� ������� ����� �����Ѵ�. javah : Java ���α׷��� ���� �޼ҵ�(C���)�� �߰��ϴ� ��. jar: �ڹ� Ŭ������ ��ϰ� Jar ���� ������ �ҽ�. javakey : ������ ��ȣ�� �����ϴ� ��. updateAWT : ���ø����̼��� AWT1.02 �޼�Ʈ���� ��È�� �̸����� �����Ѵ�. ������ ���丮 �����μ� �̻���� �۾��ϱ� ���ؼ��� ȯ�� ���� PATH�� /usr/local/JDK1.1.3/bin�� �߰��ϵ��� ����Ѵ�. ����� ��� ������ ���� ȯ���� �ý����� �׻� ����ϱ� ���Ѵٸ�, /etc/profile������ �ȿ� �ִ� PATH������ ��ģ��. Ư¡����ϱ� ���� �ڹ��Ѵ�. �ڹٰ� �����ϱ�? ����ϱ� ����, �츮�� JDK �޴��� �ִ� �� ó��, Java�� ���α׷��� ���� �÷����̶�� �� ����� ����Ҽ� �ִ�. ���α׷��� ���� Java�� ������ Ư������ high level ����Դϴ�(��� ����, �츮�� �׵��� ���ϰ� �˻��Ѵ�):
�츮���� ���Ǹ� ȯ���Ű�� ù��° ���� �ڹٰ� �ؼ��ȴٴ� ���̴�. �̹� ���� �ܰ� �ڵ��� Java�ҽ����� �ұ��ϰ�, �װ��� �پ��� �÷������� �ؼ��DZ� ������ bytecode�� ������Ʈ�� ������Ű�� ���� �������� �䱸�Ѵ�. Java bytecode�� ���ÿ� "�ѹ� ����, �׻� ����"�� �Ҽ� �ִ�. �÷����󿡼� Java ���α׷��� �������ϰ� Java ���� ���(JVM)�� �����ϰ� ��ġ�� �ٸ� ��Ű��ó���� �׵��� �����Ҽ� �ִ�. ���� ���, Java ���α׷��� Windows NT �÷������� �������ϰ� Sun Ultra Solaris���� ����(��� �̷��̴�.)���� ����ȴ�. �Ϲ�������, �÷����� ���� ���α׷��� ����Ǵ� �ϵ����/����Ʈ���� ȯ���̴�. �׷���, �÷����� ���� Java�� �����ϴ� ����Ʈ���� ȯ��������, ������ Java �÷����� �ϵ���� �÷������� ������ �� ������. Java �÷����� �� ������Ʈ�� ������ �ִ�:
JVM�� Java ���������� ���α׷��� ����� �� �ִ� �߻����� ��ǻ���̴�. ������ ������ ��� ��ҿ� �װ��� ��ġ�ϴ� �Ͷ����� �����ϰ� �۰� ����Ǿ���. �� �ܼ��� ��� ������ �÷����� Ȯ���� �����ϰ� �����, ��� �Ϳ� ���� ������ ����Ʈ�������� �ſ� ������ �̱����� ��Ʈ��ũ(��Ʈ�ݰ� ���� ��)�� �����Ͽ� ���� ū �̽��� �̽��� ���̼����� �ذ�ȴ�. �װ����� �� ����� ������ ���忡 ���� Ȯ���� ������ ������ �� �ִ�. �׷����� �ұ��ϰ� ���� �ӽŴ� �̸��� ��Ÿ������, ���� ����Ʈ���� ������ ������ �ʰ�, ���� Java �ӽ�, �ſ�ī��, TV�ص������ ������ Java Ĩ ������ ���ݾ� ���̱� �����ϴ� �ϳ��� ��ǻ�� �ý����̷��� ����Ѵ�. Java API�� �׷��� ����� �������̽�(Graphical User Interface; GUI)�� ���� ���� ��ƿ��Ƽ�� ������ ����Ʈ���� ������Ʈ�� ���� �����̴�. �� ���̺귯��(Java�� ���� �� �̿��� �ڹ� ��Ű��)���� �ҷ���� ����. �� ��Ű���� ���ÿ� �� �˷��� �� ���ø��� ���� ���� ���ø����̼��� ���� Java�� ����ϴ� ���� �����ϰ�, ���� ��� proxie, ���� ����, IRC ���� �׸��� ���������� ���ͳݿ� ����ȴٴ� ������� �� ������ ���� �� �� �ִ�. �پ��� �׷����� API ��Ű������ �з��� �� �ִ�:
�� �⺻���� API Ŀ�� �ܿ�, ���� 3D Ȯ��, �̵��ϱ� ���� ���, ���ϸ��̼� ���� �ִ�. Java�� ���ϰ� ������ Ư���� �ø�� ������ �ִٰ�, �ܿ� ó���� ����ߴ�:
�̰� �Ŀ� GNU/Linux ���迡 �ִ� Java�� ����(������ Java ������ ���� �߰��� �� �ִ�)�� ���� "���"�ϴ� ���� �Ǿ��ϰ� ���� �� �ִ�. Linux�� ���� JDK�� ���뼺�� ���� ����߰�, �� ����ũ�νý��۽��翡�� ���ߵ� ������� ��ġ�� �ƴϴ�.(�������� �й��� �� �ִ��ϴ���). ������ ���� ��� Java �ҽ��� �������� �� �ִ�, GPL���̼��� �Ʒ��� �����Ϸ� GUAVAC�� ���� ��(tool)�� �ִ�. Berkeley���̼��� �Ʒ��� KAFFE��� �Ҹ��� �����赵 ���� ����Ѵ�. ������ �� ������Ʈ���� ������ ������ ���� �ý����� ������ �ִ� ���(�������� ���� ����)�κ��� Java Ŭ���� ���̺귯���� �ʿ��ϰ� ������ �ſ� ������ �ܰ迡 �ִ�. ������ �ʱ�ܰ��� �ֱ��� ���� ������Ʈ�� ������ ���־����� ���������̼� ���� ȯ���� �����ϴ°��� �ܳ��Ѵ�. ����������, ���� �ڹٿ� GNU ����� �����ϴ� ��Ʈ�� ū �̵��� �ִٴ� �Ͱ�, ���κ����� ������ Ư�� Java�� ��������� ������ ���� �ڽ��� ������ �����ϴ� ���� ����ϰڴ�. JAVA�� ù ��° ���α׷��Ϲ����� ����� Ư������ ��� �� �Ŀ� ������ ���α׷��� ���ô�. ���� ������ ����ϱ� ������, �������� ��Ḧ �߿��ϰ� ������ �ʱ� ���� hello world ������ �����ϰ�, �츮�� �����ϴ� ��� ������ ������ �׸� ���α׷��� �����ϴ� ���� ������ �� �� ���� �� ���̴�(�ʹ� ���� ���� ������ ��Ʈ): class Cuadro { public static void main (String args[]) { int l ,a; if (args.length == 2) { l = Integer.valueOf(args[0]).intValue(); a = Integer.valueOf(args[1]).intValue(); } else { l= 20; a= 15; } for (int i=l; i>0; i--){ System.out.print("*"); } System.out.print("\n"); for (int i= a-2; i>0; i--){ System.out.print("*"); for(int j=l-2; j>0; j--) { System.out.print(" "); } System.out.print("*\n"); } for (int i=l; i>0; i--){ System.out.print("*"); } System.out.print("\n"); } } Java�� "������ ����(��� ����)"�� �����ϱ� ������ �ҽ� ���Ͽ��� �־��� �̸��� �ſ� �߿��ϴ�. ������ �ϳ� �̻��� Ŭ������ ���Ǹ� ������ ���� �ִ�. �����Ϸ��� �ҽ� ������ Ȯ���� .Java(4 ����)�� ������ ��������� �����Ѵ�. ���������, ��� �ý����� �װ��� �������� �ʴ´�.(DOS or Windows 3.1) �������� ���ǵ� Ŭ������ �̸��� �ҽ� ������ �̸��� �Բ� ���ÿ� �߻��Ѵ�. �̰��� �ڹ��� Ŭ�����ȿ� �ݵ�� ��� �ڵ尡 �־�� �Ѵ�. ��Ģ�� ���Ͽ� Ŭ������ �̸��� Ŭ������ ������ �ҽ� ������ �̸��� �Բ� ���ÿ� �߻��ؾ� �Ѵ�. ��, Java�� ��Һ��ڸ� �����Ѵ�(�빮�ڳ� �ҹ����� ���). Ŀ�ǵ� ���� Ÿ�Կ��� ������ �������ϴ� ����� : > javac Cuadro.javaJava �����Ϸ�(��� ���� OK �Ǿ��ٸ�)�� �翬�� ���̷���(bytecode)�� �����ϰ�, �ؼ� ���α׷��� ���� ���� �ɼ� �ִ� Cuadro.class ������ ������Ų��. > java CuadroJava �ҽ� �ڵ带 ������ �Ҷ�, Ư���� ������ Ŭ������ Ŭ�����μ��� ���� �̸��� ���õǴ� ���� �����Ѵ�. �װ��� Ŭ������ �ҽ� ���Ͽ��� .class ���Ϸ� �����ϴ� ���� �����ϱ� ������ �ҽ� ���Ͽ��� ���� �̸��� �ִ� ���� ���� �����̴�. ���� Cuadro.java�� �ܼ��Կ��� �ұ��ϰ� Java�� �������� Java ���α׷��� ������ �⺻���� �����ϴ� ���� ���´�. �켱 �� ������ HTML ���Ͽ� ���Ե� �� �ִ� ���ø��� �ƴ϶�� ���� ������ Ŀ�ǵ� ���ο� �ִ� �ڹ� �ؼ� ���α׷��� ���� ����Ǵ� �������� ���α׷��̴�. ���α׷��� ù��° ������ : class Cuadro { ù��° �ܾ�� ����� �־�� ����̴�. �װ��� "Cuadro"�� ��쿡 ���ο� Ŭ�������� ���Ǹ� ��Ÿ����. -- �����ο� �ִ� ���� -- �װ��� �� �߰�ȣ {} ���̿� ��Ȯ�� ��� Ŭ������ ���ǰ� ���Եȴ�. Java���� ��� ���α׷��� �۾��� Ŭ������ �ȿ� �־�� �Ѵٴ� ���� �����Ͽ��� �Ѵ�. ���� ������: public static void main (String args[]) { �װ��� main()�̶�� �̸��� ������ �޼ҵ带 �����Ѵ�. ��� Java ���ø����̼��� main()(C/C++�� ����ϰ�)�̶�� �Ҹ��� �޼ҵ�� ������ �����Ѵ�. ������ ������ �����ϱ� ���� �ణ�� ���λ����� �ʿ��� �ּ��� �ްڴ�(������ �ø� ��翡 �� �����ְ� �����Ѵ�). Ű���� public�� Ŭ������ ����� �޼ҵ���� ��ȣ������ �����Ѵ�. Ŭ������ public���� ����� �� Ŭ������ Ŭ���� �ۿ��� ���ǵ� �ڵ忡 ���� ���� �� �ִ�. Ű���� static�� Ŭ������ ���߱� �ʿ䰡 ���� �ʰ� ȣ��DZ� ���� main()�޼ҵ带 �����Ѵ�. Void�� �޼ҵ尡 ��� ��(���ϰ�)�� �ǵ��� ���� �ʴ´ٴ� ���� ��Ÿ����. �������� main�� �Ű������� StringŬ�����κ��� �ν��Ͻ��� ��ķ� �����ִ� �Ͱ� ���� function�̳� �޼ҵ忡�� �Ű������� �Ѱ��ֱ� ���ؼ��� function�̸� �ڿ� ������ �Ұ�ȣ�� �̿��Ѵ�. �����ϰ� �޼ҵ��� ��� �ڵ�� �߰�ȣ ���̿� �ѷ����δ�. ���� ������: int l, a ; �ΰ��� ���� ������ �����Ѵ�. �ڹٿ����� ������ ����ϱ� ���� ��� ������ ����Ǿ�� �Ѵ�. ����, ������ �ڵ� ���κп��� ";(�����ݷ�)"�� �־�� �Ѵ�. ������ �ڵ���� ���� �˰������� �����Ѵ� :
���ڴ� �� ���� �ڵ尡 ��� �����ϵǰ� ����Ǵ����� �˻��ϴ� �Ͱ� ����, �پ��� �÷��� �Ʒ� : Linux, �������� 95(����� �̰����� ������� ������!)���� �����ϵ� ������Ʈ Cuadro.class�� ���������ν� �ڵ��� �̽ļ��� �˻��ϴ� �Ͱ� �װ��� ��� �÷��������� �Ȱ��� ����Ǵ� ���� ���� ���� ���� �������̴�. ����츮�� ���α׷��� ���μ��� Java�� �Ϲ����� ��ɵ� �� �Ϻθ� �˾ƺ��Ҵ�.�츮�� ���α׷� �ϱ� ���� ����߰�, �� ���� ���� ����, ���� ���翡�� ����� ������ ����� �� ���̴�. ���� ���翡��, ���ǵ�� ������ Ÿ��, �⺻���� ���ɾ�, Ŭ���� ���� �����ϰ� �� ���̴�. �ֵ� ����� �����̴�. ������ ���ʸ� �� ������ ���ǹ��� URL���� ������ �۵��� �����Ͽ���.
���� : �̼�ȯ |
�� ������Ʈ�� Miguel Angel Sepulveda���� ���� �����˴ϴ�. © Emre Demiralp 1998 LinuxFocus 1998 |