![]() Jose M. Fernández �� ��: ���� �� ��� JAVA�� ��� ��ġ�ϱ� ����ȯ�� Ư¡ JAVA�� ù ��° ���α� ��� |
�ڹٷ��ϴ� ���α��� 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 |