Search

반응형

'자바 튜토리얼'에 해당되는 글 34건

  1. 2019.06.03 [Java_Tutorial]2강-시작하기 [주석, comment, 자바 프로그래밍 기초 , 자바 튜토리얼]
  2. 2019.06.01 [Java_Tutorial]1강-시작하기 [HelloWorld, 자바 프로그래밍 기초, 자바 튜토리얼]
반응형

[OracleJava Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.]

[Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼]

1강에 이어 계속 설명을 해본다.

다시 한 번 강조하지만 직접 코딩하는게 정말 중요하다.

2019/06/01 - [Software/Java] - [Java_Tutorial]자바 프로그래밍 기초 배우기 (JDK8, Java Programming, 자바 튜토리얼) 1강

 

[Java_Tutorial]자바 프로그래밍 기초 배우기 (JDK8, Java Programming, 자바 튜토리얼) 1강

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] 자바(Java)를 접 한지 벌써 20년이 되었다. 실전에서 사용한 건 15년이 돼간다.나의 첫 자바 프로..

tiboy.tistory.com

지금 컴퓨터 앞에 앉아서 코딩 준비를 했다면 2강을 시작해 본다.

그럼 방금 만든 프로그램을 다시 살펴본다. 주석부분을 추가했다.

먼저 주석을 살펴보겠다. 주석은 프로그램에 영향을 주지 않는다. 단순히 코딩만 하면 다른 사람이 봤을 때 이해하거나 분석하기 힘들다. 심지어 본인이 만든 프로그램도 추후 다시 봤을 때 왜 이렇게 만들었을까? 라며 고민할 수도 있다. 그래서 이정표와 설명서 같은 내용이 필요하다. 하지만 무작정 설명을 쓰면 컴파일러는 오류를 뱉어 낸다. 문법이 잘못되었다고 판명되는 것이다.

System.out.println(“HelloWorld!”); HelloWorld를 출력한다.

이렇게 설명을 붙이면 컴파일러는 HelloWorld를 출력한다. 이 부분을 코드로 오해한다. 그리고 이런 코드는 존재하지 않는다며 오류가 난다.

그래서 주석이라는 기능이 필요한 것이다. 주석은 총 3가지 방식으로 사용할 수 있다.

가장 쉽게 사용하는 주석 방식은 슬래쉬 2개인 // 이다.

System.out.println(“HelloWorld!”); // HelloWorld를 출력한다.

이렇게 //를 붙이면 // 뒤의 텍스트는 주석으로 인식되어 오류를 발생시키지 않는다. //는 한 줄로만 사용할 수 있다.

 

 

두번째 방식은 범위를 지정할 수 있는 주석이다. /*로 시작해서 주석 내용을 쓰고 */로 닫으면 그 사이는 주석으로 인식되어 오류를 발생시키지 않는다. 또한 //와 다르게 */로 닫기 전까지 여러 행도 주석으로 처리할 수 있다.

System.out.println(“HelloWorld!”); /* HelloWorld를 출력한다.

그러니깐 println 은 캐리지리턴을 지원한다. */

마지막으로 문서주석이 있다. 문서주석이란 Javadoc 문서로 API를 만들고 싶을 때 사용하면 된다. 자체적으로 컴포넌트를 만들어 개발팀에 제공하고 해당 컴포넌트에 대한 설명 문서를 만들고 싶을 때 사용하는 것이다. 사용법은 /** 로 시작해서 */로 닫으면 된다.

주석은 설명을 하기 위해 사용도 하지만 디버깅하거나 코드를 수정할 때 이력관리용 또는 임시 처리를 할 때도 유용하다. 기존 소스를 잠시 사용하지 않고 다른 방식으로 코딩해서 테스트해보고 싶을 때 기존 소스를 지우지 않고 주석으로 막아 두면 나중에 다시 사용하기 편하다. 주석으로 처리된 코드는 당연히 컴파일러가 무시한다.

// If (a.equals(“b”)) {

If (“b”.equals(a)) {

System.out.println(“B”);

}

다음은 class HelloWorld { } 에 대해 설명한다. 그전에 Class(클래스)가 무엇인지는 따로 자세히 설명할 것이며 여기서는 코딩 방식에 대해서만 설명한다. Class의 이름(name) 은 파일 이름과 같다. 꼭 그래야 한다. 그리고 클래스 명은 영문으로 사용하며 첫 글자는 대문자로 시작한다. "{" 로 시작해서 " }"로 끝나며 그 사이에 필요한 코딩을 하면 된다. “class”소문자로 사용한다.

class name {

}

다음 main Method이다. (메인 메소드) 메인 메서드는 자바 애플리케이션의 출발점이다. 프로그램을 만들면 실행을 해야 되는데 가장 먼저 찾는 게 main 메소드이다. C, C++ 등의 언어도 마찬가지로 main 메소드(함수)가 있다. 우리가 java HelloWorld로로 프로그램을 실행하면 자바 런처는 실행한 클래스에서 main 메소드를 찾는데 만약 없다면 오류가 난다. 빌딩에 들어 갈려면 먼저 로비로 가야 하는 원리이다.

public static void main(String[] agrs){

}

이렇게 생겼다. 가장 먼저 나오는 public는 공용으로 어디서든 호출할 수 있다는 의미이다. 두번째 static는 별도로 객체를 생성해서 호출하지 않아도 되는 공용 메서드라는 의미이다. 세번째 void는 결과가 없다는 의미이다. 보통 함수를 보면 입력값을 넣으면 출력 값이 있는데 void는 출력값이 없다는 것이다. 네번째 main 은 메소드의 이름(name)이다. 프로그램이 실행되면 가장 먼저 찾는 게 main이다. 그리고 (String[] args)는 메소드의 입력 파라미터이다. String[](문자열 배열) 형태로 이름은 argsmain 메소드 안에서 사용한다는 의미이다. 메소드도 클래스와 마찬가지로 { } 사이에 필요한 코딩을 하면 된다.

프로그램이 실행할 때 main을 찾아야 하는데 외부에서 실행한 만큼 어디서든 실행될 수 있게 해야 하므로 public 이어야 하고 객체를 별도로 생성하지 않아도 실행할 수 있도록 static 형태어야 한다. 실행 메소드이므로 반환 값이 있으면 안 된다.그래서 void로 사용한다. 마지막으로 입력 파라미터는 문자 배열로 다음과 같이 사용할 수 있다.

위 프로그램에서 9, 10번 라인을 보면 agrs[0], args[1]의 값을 출력하도록 코딩했다. argsmain입력 파라미터이다.

java HelloWorld args[0] args[1] args[2] … 이렇게 클래스명 뒤에 파라미터 값들을 한 칸 띄고 넣어주면 main 메소드에서 사용할 수 있다. 이 프로그램은 args[0]==Good, args[1]==Morning로 입력했다. 결과는 잘 나왔다.

해당 키워드 (public, static, String )은 나중에 설명을 할 것이므로 당장 저 키워드가 이해가 안가도 괜찮다. 지금은 main 메소드에 대해 설명하기 위해 간략하게 예를 들어보았기 때문이다. 본인도 처음 프로그래밍 언어를 공부할 때 이 main메소드를 이해하는데 어려움을 느꼈었다. 걱정하지 마라. 몇 번 사용하면 이해가 될 수 밖에 없다.

궁금한 점이나 내용상 오류가 있으면 댓글 바란다.

2019/06/06 - [Software/Java] - [Java_Tutorial]3강-자바 언어 배우기, 객체란? [객체지향 프로그래밍 개념, 자바 프로그래밍 기초 , 자바 튜토리얼]

 

[Java_Tutorial]3강-자바 언어 배우기, 객체란? [객체지향 프로그래밍 개념, 자바 프로그래밍 기초 , 자바 튜토리얼]

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] [Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼] 1강과 2강을..

tiboy.tistory.com

시작하기 끝. 다음은 자바 언어 배우기이다.

반응형
반응형

[OracleJava Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.]

[Java Tutorial, 자바 프로그래밍 기초 배우기, Java Programming, 자바 튜토리얼]

자바(Java)를 접 한지 벌써 20년이 되었다. 실전에서 사용한 건 15년이 돼간다.나의 첫 자바 프로젝트는 2004S*사의 모 사이트였다. EJB 환경에 JSP로 구현된 웹사이트였는데 지금 생각하면 부족함이 많았었다. 특히 델파이나 파워빌더 또는 비주얼 베이직으로 프로젝트를 했던 나에게 웹이란 생소했고 환경을 이해하고 코딩을 하기 전까지 많은 어려움이 있었다. 그래도 끝까지 포기하지 않고 이제는 자바 개발자라는 신념을 가지고 열심히 노력해서 지금까지 개발자로서 잘 지내고 있다.

많은 자바 프로젝트를 하면서 느낀 점이 있다면 많은 개발자들이 자바의 여러 기능의 개념을 잘 모르고 선 개발자들이 만든 소스를 그대로 복사해서 그대로 사용하거나 약간 수정해서 사용하는 경우가 많다는 걸 알았다. 그래서 조금이라도 문제가 발생하면 해결하는데 고생하는 걸 봐왔다. 기본 원리를 잘 이해하고 사용하면 편리하면서 강력한 프로그래밍을 할 수 있게 된다. 물론 선 개발자들이 만든 소스를 활용하는게 나쁘다는 건 아니다. 잘 짜여진 코드를 이해하고 상황에 맞게 사용하면 시간도 절약되고 선 개발자들의 노하우도 익히게 되어 장점이 많다. 하지만 그냥 내용도 잘 모르고 나쁜 코드임을 인식 못하고 사용하는 경우도 있기에 이런 상황이 나중에 큰 문제를 일으킬 수 있다는 걸 알아야 한다.

 

 

지금부터 기본 개념을 잘 익혀서 프로젝트에서 능력을 발휘하길 바란다. 이 블로그에서 게시할 자바 튜토리얼은 오라클의 자바 튜토리얼에 나의 경험을 덧 붙여 설명을 할 것이다. 자바 프로그램을 처음 접하거나 이미 접했지만 초급이라 좀 더 강한 기초를 필요로 하는 초급 개발자에게 도움이 되길 바라며 게시를 해 본다.

많은 도움이 되길 바라며~

자바 튜토리얼 (자바 튜토리얼Java Tutorial )

자바 프로그래밍 기초 배우기 (Java Programming, )

 

  1. 시작하기

간단한 역사를 보면 자바는 선 마이크로시스템즈의 제임스 고슬링이 개발한 객체지향 언어이다. 20094월 선 마이크로시스템즈가 오라클에 인수 합병되면서 자바의 권리와 유지보수는 오라클로 넘어갔다.

자바 기술(Java Technology)는 프로그래밍 언어와 플랫폼을 의미한다.

자바 프로그래밍 언어는 고차원 언어로 다음과 같이 요약할 수 있다.

간단하다, 객체지향. 분산, 멀티쓰레드, 다이나믹, 보안, 높은 성능, 견고함, 이식성, 아키텍처 중립성.

이런 많은 능력을 가진 자바 프로그래밍 언어는 여러분이 개발하는데 즐거움을 줄 것이다. 위의 자바 특징은 앞으로 자바 프로그래밍을 익히다 보면 알게 될 것이다.

자바를 프로그래밍 한다는 것은 자바 언어로 명령어를 이용해서 프로그램을 만든다는 것이다. 그 방식을 설명해 보겠다.

우선, .java 확장자를 가진 텍스트 파일을 만들어야 한다. 물론 자바 언어 규칙에 맞게 만들어야 한다. 이 소스 파일은 javac 라는 명령어를 통해 컴파일되면서. class확장자를 가진 파일로 바뀐다. 이 파일은 우리는 이해할 수 없는 컴퓨터용 언어인 바이트코드(bytecodes)로 변형된다. 이 바이트코드는 자바 가상 머신(Java Virtual Machine, JVM)가 읽을 수 있는 언어이다. JVM을 이용한 자바 런처가 여러분이 작성한 프로그램을 실행한다.

JVM의 능력은 대단하다. 어느 운영체제에서 개발했더라도 다양한 운영체제(윈도우즈 , 유닉스, 리눅스 등등)에서 이 JVM만 있다면 실행이 가능하기 때문이다. 이 부분이 자바의 강점 중 하나이다. 운영체제라는 환경의 영향을 받지 않는다는 의미이다.

자바 플랫폼에 대해 알아본다. 플랫폼은 프로그램이 작동하는 하드웨어나 소프트웨어 환경을 의미한다. Microsoft Windows, Linux, Unix, Mac OS 같은 운영체제도 바로 플랫폼이 된다. 이 환경에서 우리가 만든 프로그램이 작동되는 것이다.

자바의 플랫폼은 다음과 같다.

  1. JVM (자바 가상 머신)

  2. API (자바 응용 프로그래밍 인터페이스, API)

JVM은 이미 설명을 했고 API는 무엇일까?

API는 미리 만들어 둔 컴포넌트의 모음이다. 이 컴포넌트를 활용해서 자바 프로그램을 쉽게 사용할 수 있는 것이다. 유용한 API는 계속 개발되고 버전이 올라가게 된다.

그러면 자바 기술(JAVA Technology)로 할 수 있는 것은 무엇이 있을까?

우선 개발 툴은 여러분이 개발하는 데 있어 필요한 모든 것을 제공한다. 컴파일, 실행, 모이터링, 디버깅, 그리고 여러분의 개발에 대한 문서를 만드는 기능까지 제공한다. Javac 컴파일러, java 실행, Javadoc 문서툴까지 말이다.

다음으로 API이다. 자바 프로그램에 필요한 핵심 함수들을 제공한다. 유용한 클래스들과 기초 객체, 네트워크, 보안, XLM 활용, 데이터 베이스 접속 등등 말이다. 이 핵심 API는 방대하다. 해당 API 목록과 사용법은 문서로 제공된다.

기타 여러가지 기술이나 툴킷을 제공하지만 기본은 우선 기초적인 부분만 알고 넘어간다.

자바의 기본 개념과 특징에 간략하게 알아보았고 이제 직접 코딩을 해보겠다. 프로그램은 눈으로 봐서도 안되고 상상으로 코딩해도 안된다. 직접 키보드를 두들겨서 프로그램(코딩)을 짜 보고 실행해 보고 오류 발생 시 원인을 찾아 수정도 해봐야 실력이 는다. 골프 선수가 동영상만 본다고 해서 절대 실력이 늘지 않는다. 직접 휘둘러 봐야 한다. 것도 수많은 반복적 훈련이 필요하다. 여러분도 능력 있는 프로그래머가 되고 싶다면 지금 당장 키보드를 두들겨 가며 직접 프로그램(코딩)을 짜고 또 짜면 된다.

이 글을 읽는 여러분은 대부분 windows 환경이라고 생각한다. 간혹 UnixLinux 환경도 있겠지만 어짜피 프로그래밍 언어는 같다. 이 글은 MicroSoft Windows 10 환경을 기반으로 작성되었다.

우선 자바 프로그램을 작성하기 앞서 JDK 8과 이클립스가 필요하다. 툴은 다른 것을 써도 된다. 보통 이클립스를 많이 사용하므로 이클립스/콘솔 환경을 겸해서 설명을 하겠다.

그럼 프로그램을 어떻게 짜야하는가?

  1. .java 확장자를 가지는 소스 파일을 만든다.

  2. Javac 로 컴파일 해서 .class 파일을 만든다.

  3. java로 실행한다.

그럼 프로그램을 시작할 때 단골로 등장하는 HelloWorld! 프로그램을 만들어 본다.

이미지로 넣는 이유는 복사해서 사용하지 말고 직접 코딩해 보라는 의미이다. 꼭 직접 코딩을 하기 바란다.

해당 프로그램을 작성하고 HelloWorld.java로 저장한다. 주의할 점은 클래스명과 파일명은 같아야 한다. (HelloWorld.java == class HelloWorld)

Javac HelloWorld.java 로 컴파일을 하면 빈칸 하나 나오고 넘어간다. 오류가 없다는 뜻이다.

그럼 실행을 해보겠다.

Java HelloWorld 로 실행을 하면 HelloWorld!가 표출됨을 확인할 수 있다. 첫번째 프로그램은 성공적으로 실행되었다.혹시 오류가 나면 댓글로 문의 바람)

 

계속~

2019/06/03 - [Software/Java] - [Java_Tutorial]자바 프로그래밍 기초 배우기 (JDK8, Java Programming, 자바 튜토리얼) 2강

 

[Java_Tutorial]자바 프로그래밍 기초 배우기 (JDK8, Java Programming, 자바 튜토리얼) 2강

[Oracle의 Java Tutorial을 읽고 순서에 의해 정리한 후 본인의 경험과 이해를 바탕으로 작성된 글임을 밝힌다.] 2019/06/01 - [Software/Java] - [Java_Tutorial]자바 프로그래밍 기초 배우기 (JDK8, Java Progra..

tiboy.tistory.com

 

반응형