자바 자바학원 java java학원 scjp scjp학원 자바자격증 java자격증 scjp자격증 jsp ejb 자바프로그래밍 웹프로그래밍

[자바/SCJP/JAVA]자바 초보를 위하여 I - 자바입문

오라클 ocp 오라클학원 오라클자격증 ccna ccna학원 ccna자격증 ccnp ccnp자격증 ccnp학원 정보보안 보안전문가 정보보안학원 mcse mcse학원 mcse자격증 mcp mcp자격증 mcp학원 시스코자격증 시스코학원 cisco cisco자격증 cisco학원 네트워크 ocp자격증 ocp학원 자바 java 자바자격증 자바학원 java자격증 java학원 scjp scjp자격증 scjp학원 jsp jsp학원 ejb ejb학원 프로그래밍 c언어 c c++ c학원 c언어학원 c프로그래밍 데이터베이스 데이터베이스관리자 db관리자 db전문가 데이터베이스전문가 시스템관리자 시스템전문가 네트워크관리자 네트워크전문가 시스코네트워크 서버관리자 웹프로그래밍 프로그래밍전문가 자바프로그래밍 자바프로그래밍학원 자바프로그래밍전문가 c언어전문가 

오라클 ocp 오라클학원 오라클자격증 ccna ccna학원 ccna자격증 ccnp ccnp자격증 ccnp학원 정보보안 보안전문가 정보보안학원 mcse mcse학원 mcse자격증 mcp mcp자격증 mcp학원 시스코자격증 시스코학원 cisco cisco자격증 cisco학원 네트워크 ocp자격증 ocp학원 자바 java 자바자격증 자바학원 java자격증 java학원 scjp scjp자격증 scjp학원 jsp jsp학원 ejb ejb학원 프로그래밍 c언어 c c++ c학원 c언어학원 c프로그래밍 데이터베이스 데이터베이스관리자 db관리자 db전문가 데이터베이스전문가 시스템관리자 시스템전문가 네트워크관리자 네트워크전문가 시스코네트워크 서버관리자 웹프로그래밍 프로그래밍전문가 자바프로그래밍 자바프로그래밍학원 자바프로그래밍전문가 c언어전문가

오라클 ocp 오라클학원 오라클자격증 ccna ccna학원 ccna자격증 ccnp ccnp자격증 ccnp학원 정보보안 보안전문가 정보보안학원 mcse mcse학원 mcse자격증 mcp mcp자격증 mcp학원 시스코자격증 시스코학원 cisco cisco자격증 cisco학원 네트워크 ocp자격증 ocp학원 자바 java 자바자격증 자바학원 java자격증 java학원 scjp scjp자격증 scjp학원 jsp jsp학원 ejb ejb학원 프로그래밍 c언어 c c++ c학원 c언어학원 c프로그래밍 데이터베이스 데이터베이스관리자 db관리자 db전문가 데이터베이스전문가 시스템관리자 시스템전문가 네트워크관리자 네트워크전문가 시스코네트워크 서버관리자 웹프로그래밍 프로그래밍전문가 자바프로그래밍 자바프로그래밍학원 자바프로그래밍전문가 c언어전문가

오라클 ocp 오라클학원 오라클자격증 ccna ccna학원 ccna자격증 ccnp ccnp자격증 ccnp학원 정보보안 보안전문가 정보보안학원 mcse mcse학원 mcse자격증 mcp mcp자격증 mcp학원 시스코자격증 시스코학원 cisco cisco자격증 cisco학원 네트워크 ocp자격증 ocp학원 자바 java 자바자격증 자바학원 java자격증 java학원 scjp scjp자격증 scjp학원 jsp jsp학원 ejb ejb학원 프로그래밍 c언어 c c++ c학원 c언어학원 c프로그래밍 데이터베이스 데이터베이스관리자 db관리자 db전문가 데이터베이스전문가 시스템관리자 시스템전문가 네트워크관리자 네트워크전문가 시스코네트워크 서버관리자 웹프로그래밍 프로그래밍전문가 자바프로그래밍 자바프로그래밍학원 자바프로그래밍전문가 c

자바 란 ?

간단하고(simple)
객체지향적이고(object-oriented)
분산처리되고(distributed)
인터프리트되고(interpreted)
강건하고(robust)
컴퓨터 하드웨어에 영향을 받지않고(architecture-neutral)
보안성이 있으며(secure)
포팅하기 쉽고(portable)
성능이 우수하고(hight-performance)
멀티쓰레드를 사용하고(multithreaded)
동적인(dynamic) 언어이다. 썬에서는 가전 제품을 제어하기 위해 초기에는 C++언어를 이용해서 oak 프로젝트를 추진하였지만 C++언어를 이용하는 경우에 잘못 사용된 포인터 때문에 너무 많은 디버깅 작업이 필요해지자 새로운 언어를 개발하기로 결정하였다. 새로운 언어는 C++언어의 문법과 유사하면서, 의미적으로 는 Smalltalk과 유사한 특징을 가지도록 했다. 특히 C++언어의 불필요하고 복잡한 포인터 연산과 가비지 콜렉션 등의 기능을 제거하였다.
oak 프로젝트를 수행하면서 컴퓨터 업계에는 새로운 기류가 형성되고 있었다. 바로 Mosaic 웹브라우저의 출현이었다. 1993년 마크 앤드슨은 모자익 웹브라우저를 개발하고, 1994년 넷스케입사를 설립하였다. 웹브라우저의 출현으로 oak 프로젝트는 가전 제품을 위한 언어에서 웹브라우저를 위한 언어로 방향을 급선회하게 되었다. 1995년 썬은 웹브라우저를 위한 언어로 Java를 발표하게되었다. 당시 정적이던 웹브라우저에 동적인 자바 애플릿은 큰 관심을 불러 일으켰다. 초기에 사용자들은 웹브라우저에서 수행되는 간단한 애플릿에 관심을 두었지만, 썬의 지속적인 홍보덕분으로 자바를 이용한 응용프로그램을 작성하는 프로그래머들이 점차 늘어나게 되었다.
썬에서는 자바언어를 이용해 프로그램을 개발할 수 있는 개발 환경(JDK)을 무료로 계속 지원하고 있으며, 이것은 자바의 개념을 점차 확대 시키는 계기가 되었다. 자바는 이제 단순한 언어가 아니라 개발 환경으로 확대된 것이다. 썬에서는 개발 환경을 지원하는 차원을 넘어서 점차 자바를 이용할 수 있는 분야를 확대시켜 나가고 있다. 자바를 이용해 개발한 핫자바 브라우저, 핫자바뷰어 등의 사용자 응용프로그램에서 부터 swing, JMF 등의 각종 지원 클래스, javaOS 등의 시스템 프로그램, 자바 반지, 자바 카드, 피코 자바 등의 하드웨어까지 응용 분야를 넓히고 있다. 자바는 언어, 개발 환경의 개념을 넘어서 이제는 하나의 컴퓨팅환경으로 자리잡아가고 있는 것이다.

자바 관련 서적

자바와 관련된 서적은 세계적으로 1997년 11월 현재 900여권을 넘어서고 있다. 정말 수도 없이 많은 책들이 있는 것이다. 초보자들에게 책을 선정하는 것도 쉬운일은 아니다. The Java Programming Language 우선 자바 언어를 개발한 주역인 제임스 고슬링이 직접 저술한 "The Java Programming Language" 는 Addison Wesley 출판사에서 출간되었다. 자바 언어 자체를 조금 깊이 알아보고 싶은 분에게 꼭 권하고 싶은 책이다. 일반 초보자에게는 좀 지겨운 느낌이 들지도 모르겠다.

Java in Nutshell 저자는 David Flanagan 이고 첫판과 두번째 판이 나와있다. 첫번째 판은 JDK1.0 에 관해, 두번째 판은 JDK1.1에 관해 설명하고 있다. 간결하면서도 중요한 부분들을 잘 설명해두었기 때문에 자바 프로그래머에게 꼭 권하고 싶은 책이다. O'Reilly 출판사에서 출간되었다.

teach yourself Database Programming with JDBC teach yourself 시리즈 책으로 JDBC 프로그래밍에 관련해 잘 설명하고 있다. 저자는 Ashton Hobbs이고 Sams net에서 출간되었다.

Client/Server Programming with Java and CORBA 자바와 코바를 연결하려는 사람들에게 꼭 권하고 싶은 책이다. Robert Orfali 와 Dan Harkey 가 공동 저술하였고, John Willey & Sons에서 출간하였다.

Java Network Programming 저자는 Hughes 이고, Manning 출판사에서 출간되었다. 네트워크 및 I/O 스트림에 대해 자세히 설명하고 있다. 자바 네트워크 프로그래머에게 권장할만한 책이다.

Java Network Programming 저자는 Elliotte 이고 O'Reilly 출판사에서 출간되었다. 자바 네트워크 프로그래밍 팁을 중심으로 서술되어 있어서 네트워크 프로그래머에게 권할만한 책이다.

Java Threads Scott 과 Henry가 공동으로 저술한 책으로 자바 쓰레드를 이용하는 방법들이 기술되어 있다. O'Reilly 출판사에서 출간되었다.

Concurrent Programming in Java Doug Lea가 집필한 이 책은 자바의 쓰레드를 이용해서 병행응용프로그램을 작성하는 사람에게 권장할 만하다. 책은 Addison Wesley 출판사에서 출간되었고, 웹에서도 무료로 제공하고 있다.

modern compiler implementation in Java Andrew 가 쓴 이책은 Cambridge 출판사에서 출판되었고, 자바를 이용해서 컴파일러를 작성하는 사람들에게 권할 만 하다.

자바 관련 사이트

www.javasoft.com
자바를 개발한 썬(SUN)사의 공식 자바 사이트이다. 자바와 관련된 각종 문서와 각종 도구 및 JDK를 얻을 수 있는 사이트이다. http://www.javasoft.com/tutorial/ 디렉토리에는 자바 프로그래밍을 설명해주는 온라인 책이 있다.
www.gamelan.com
세계의 수 많은 자바 프로그램을 모아놓은 곳이다. 다양한 자바 프로그램들을 분류해서 사용자에게 제공한다. 많은 자바 프로그램들이 소스를 공개해 놓고 있기 때문에 프로그램을 작성하기 전에 이곳에 있는 프로그램들을 참조하는 것이 바람직하다.
www.javaworld.com
자바 월드는 온라인상에서 발행되는 자바관련 잡지이다. 96년부터 발행되는 이 잡지는 각종 자바 프로그래밍 기법을 설명해준다. 각종 프로그래밍 기법들을 소개하기 때문에 전문 프로그래머는 반드시 보아두어야할 사이트이다.

<PRE>

자바 언어 맛보기

1. 에디터를 이용해서 HelloWorld.java 라는 파일을 작성한다.HelloWorld.java 파일
1 class HelloWorld { 2 3 // 주석 부분 4 public static void main (String args[]) { 5 6 String msg = "World"; 7 8 System.out.print("Hello "); 9 System.out.println(msg); 10 } 11 }
2. javac라는 자바 컴파일러를 이용해서 HelloWorld.java 파일을 컴파일한다.% javac HelloWorld.java3. javac를 이용하여 컴파일하면 HelloWorld.class라는 파일이 생성된다.생성된 HelloWorld.class 파일은 java라는 자바 인터프리터에 의해 실행된다.% java HelloWorldHelloWorld.java 파일 설명자바 프로그램의 확장자는 .java이고 실행 파일의 확장자는 .class이다.1 class HelloWorld {자바는 객체지향 언어이다. 따라서 자바에서는 모든 것이 클래스 되어 있다.1번 문장은 HelloWorld라는 클래스를 정의하는 것이다.javac를 이용하여 컴파일하면 각 클래스는 .class 확장자를 갖는 파일로 저장된다.3 // 주석 부분/* */ : C 스타일 주석, 여러 줄에 걸쳐서 사용할 수 있다.// : C++ 스타일 주석, 한줄을 주석으로 사용할 때 편리하다./* **/ : javadoc을 이용하여 도큐먼트할 때 사용된다.4 public static void main (String args[]) {public : 함수의 억세스 퍼미션을 의미static : void : 함수의 리턴 타입main : 함수 이름. main은 프로그램의 시작 함수이다.String args[] : main의 아규먼트, 스트링 배열6 String msg = "World";String : 문자열을 나타내는 데이타 타입 클래스msg = "World" : msg 라는 변수에 World라는 문자열을 넣는다.; : 모든 문장은 ;로 끝난다.8 System.out.print("Hello ");System : 자바가 제공하는 클래스 이름System.out.print : System 클래스의 out 멤버필드의 print라는 메소드. 화면에 문자를 출력하는데 사용된다."Hello " : Hello라는 문자열9 System.out.println(msg);println : print line이라는 뜻이다. 문자열을 출력하고 라인을 바꾼다.msg : String 타입의 변수10 }main함수의 끝을 의미한다. 모든 함수와 블락은 { }안에 들어간다.11 }C 나 C++와는 다르게 클래스의 모든 메소드는 클래스안에 정의되어 있어야한다. 이것은 PASCAL과 유사하다.

자바 애플릿 만들어보기

1. 에디터를 이용하여 Hello.java 파일을 작성한다.
1 import java.awt.*; 2 import java.applet.*; 3 4 public class Hello extends Applet { 5 private String Greeting[] = { 6 "Hello, world" 7 }; 8 9 public void paint(Graphics g) { 10 g.drawString(Greeting[0], 25, 25); 11 } 12 }
2. 에디터를 이용해서 Hello.html파일을 작성한다.
1 <html><head><title>Hello</title></head> 2 <body> 3 <applet code=Hello.class width=250 height=250> 4 </applet> 5 </body> 6 </html>
3. javac를 이용해서 Hello.java를 컴파일한다.% javac Hello.java4. appletviewer나 넷스케이프를 이용해서 Hello.html 파일을 본다.% appletviewer Hello.html
Hello.java 파일 설명애플릿(applet) : 웹브라우저 상에서 실행되는 프로그램(Hello.java) appletviewer 나 넷스케이프를 이용해서 실행시킨다. 어플리케이션 : 일반적인 응용 프로그램(HelloWorld.java) java라는 인터프리터를 이용해서 실행시킨다. 1 import java.awt.*;import : C 언어의 #include 에 해당된다. java.awt : 자바언어가 제공하는 패키지 이름이다. 패키지란 비슷한 종류의 클래스를 모아서 만든 클래스들의 모임이다. java.awt 패키지는 GUI나 그래픽에 관련된 클래스들의 모임이다. java.awt.* : java.awt 패키지에 있는 모든 클래스를 의미한다. 2 import java.applet.*;java.applet : 애플릿 프로그램을 작성하기 위해서 만든 에플릿 패키지이다. java.applet.* : 애플릿 패키지의 모든 클래스. 4 public class Hello extends Applet {public : 클래스의 억세스 퍼미션class Hello : Hello 라는 클래스를 선언한다. extends : Applet 클래스에서 상속받아 Hello 라는 클래스를 만들겠다는 의미이다. Applet : java.applet패키지에 있는 Applet 클래스5 private String Greeting[] = {private : 클래스 멤버 필드의 억세스 퍼미션String Greeting[] : Hello 클래스의 멤베 필드. 타입은 문자열 배열 = { : 배열에 값을 초기화하기 위해서 사용되었다. 6 "Hello, world"Greeting[0]에 Hello, world라는 문자열로 초기화 했다. 7 };}; : Greeting 문자열 배열에 초기화를 끝내고 블락을 닫았다. 9 public void paint(Graphics g) {public : 함수의 억세스 퍼미션void : 함수의 리턴 타입 void는 아무것도 리턴하지 않는다.paint : Hello 클래스의 메소드Graphics : 그림을 그리는데 필요한 정보를 가지고 있는 자료 구조 타입 10 g.drawString(Greeting[0], 25, 25);g.drawString : 문자열을 화면에 그린다. 애플릿에서는 System.out.print를 이용해서 화면에 문자열을 출력할 수 없다.Greeting[0], 25, 25 : 문자열 Greeting[0]을 X좌표 25, Y좌표 25에 그린다. 11 }paint 메소드의 끝을 의미한다. 12 }Hello 클래스의 끝을 의미한다.

오라클 ocp 오라클학원 오라클자격증 ccna ccna학원 ccna자격증 ccnp ccnp자격증 ccnp학원 정보보안 보안전문가 정보보안학원 mcse mcse학원 mcse자격증 mcp mcp자격증 mcp학원 시스코자격증 시스코학원 cisco cisco자격증 cisco학원 네트워크 ocp자격증 ocp학원 자바 java 자바자격증 자바학원 java자격증 java학원 scjp scjp자격증 scjp학원 jsp jsp학원 ejb ejb학원 프로그래밍 c언어 c c++ c학원 c언어학원 c프로그래밍 데이터베이스 데이터베이스관리자 db관리자 db전문가 데이터베이스전문가 시스템관리자 시스템전문가 네트워크관리자 네트워크전문가 시스코네트워크 서버관리자 웹프로그래밍 프로그래밍전문가 자바프로그래밍 자바프로그래밍학원 자바프로그래밍전문가 c언어전문가 

오라클 ocp 오라클학원 오라클자격증 ccna ccna학원 ccna자격증 ccnp ccnp자격증 ccnp학원 정보보안 보안전문가 정보보안학원 mcse mcse학원 mcse자격증 mcp mcp자격증 mcp학원 시스코자격증 시스코학원 cisco cisco자격증 cisco학원 네트워크 ocp자격증 ocp학원 자바 java 자바자격증 자바학원 java자격증 java학원 scjp scjp자격증 scjp학원 jsp jsp학원 ejb ejb학원 프로그래밍 c언어 c c++ c학원 c언어학원 c프로그래밍 데이터베이스 데이터베이스관리자 db관리자 db전문가 데이터베이스전문가 시스템관리자 시스템전문가 네트워크관리자 네트워크전문가 시스코네트워크 서버관리자 웹프로그래밍 프로그래밍전문가 자바프로그래밍 자바프로그래밍학원 자바프로그래밍전문가 c언어전문가

오라클 ocp 오라클학원 오라클자격증 ccna ccna학원 ccna자격증 ccnp ccnp자격증 ccnp학원 정보보안 보안전문가 정보보안학원 mcse mcse학원 mcse자격증 mcp mcp자격증 mcp학원 시스코자격증 시스코학원 cisco cisco자격증 cisco학원 네트워크 ocp자격증 ocp학원 자바 java 자바자격증 자바학원 java자격증 java학원 scjp scjp자격증 scjp학원 jsp jsp학원 ejb ejb학원 프로그래밍 c언어 c c++ c학원 c언어학원 c프로그래밍 데이터베이스 데이터베이스관리자 db관리자 db전문가 데이터베이스전문가 시스템관리자 시스템전문가 네트워크관리자 네트워크전문가 시스코네트워크 서버관리자 웹프로그래밍 프로그래밍전문가 자바프로그래밍 자바프로그래밍학원 자바프로그래밍전문가 c언어전문가

오라클 ocp 오라클학원 오라클자격증 ccna ccna학원 ccna자격증 ccnp ccnp자격증 ccnp학원 정보보안 보안전문가 정보보안학원 mcse mcse학원 mcse자격증 mcp mcp자격증 mcp학원 시스코자격증 시스코학원 cisco cisco자격증 cisco학원 네트워크 ocp자격증 ocp학원 자바 java 자바자격증 자바학원 java자격증 java학원 scjp scjp자격증 scjp학원 jsp jsp학원 ejb ejb학원 프로그래밍 c언어 c c++ c학원 c언어학원 c프로그래밍 데이터베이스 데이터베이스관리자 db관리자 db전문가 데이터베이스전문가 시스템관리자 시스템전문가 네트워크관리자 네트워크전문가 시스코네트워크 서버관리자 웹프로그래밍 프로그래밍전문가 자바프로그래밍 자바프로그래밍학원 자바프로그래밍전문가 c

 

추천학원

자바 자바학원 java java학원 scjp scjp학원 자바자격증 java자격증 scjp자격증 jsp ejb 자바프로그래밍 웹프로그래밍

Posted by genesmer
,