티스토리 뷰


* 본 포스팅은 인피니티 북스의 Power JAVA 2판을 참고하여 작성되었습니다.

* 개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있음을 밝힙니다.


자바 프로그래밍 기초

  자바는 하나의 소스 파일 안에 클래스가 있고 클래스 안에 메소드가 있다. java 소스파일의 이름은 소스 파일 내의 클래스 이름과 같아야한다.


Hello.java

public class Hello { //클래스
    public static void main(String[] args) { //메소드
        System.out.println("Hello JAVA World");
    }
}

  • 위 코드는 Hello World 를 출력하는 자바 코드다. 클래스와 메소드 앞의 public은 다른 클래스에서도 호출이 가능함을 명시한다.

  • 클래스는 메소드(method)와 변수로 이루어진다. 메소드는 프로그램이 해야 하는 작업을 기록한다. 메소드는 작업의 결과물을 외부로 반환할 수 있다. C언어의 함수와 같은 역활인가 보다.

  • 메소드 중 main()는 C언어에서와 마찬가지로 자바 프로그램의 시작을 뜻한다. 자바 프로그램이 시작되면 main()메소드부터 호출된다.

  • 메소드는 함수와 마찬가지로 매개변수(parameter)를 가진다. 매개변수를 통해 외부로부터 값을 받아들일 수 있다.



Add2.java

import java.util.Scanner;

public class Add2 {
    public static void main(String args[]) {
            
        Scanner input = new Scanner(System.in);
        int x;
        int y;
        int sum;
        
        System.out.print("첫번째 숫자를 입력하시오 : ");
        x = input.nextInt();
        
        System.out.print("두번째 숫자를 입력하시오 : ");
        y = input.nextInt();
        
        sum = x + y;
        
        System.out.println(sum);
    }
}

  위코드에서는 변수와 import가 사용되었다. 변수는 값을 저장하기 위한 공간이다. 위 코드에서는 input.nextInt() 메소드가 사용되었는데, 이 메소드는 사용자로 부터 int형의 값을 입력받게 해준다. input.nextInt()를 사용하기 위해서는 java.util.Scanner 라는 클래스 라이브러리가 import 되어야 한다. 클래스 상단에 해당 클래스를 import 했음을 명시한다. C언의 #include 와 유사한 것 같다.


  자바는 객체지향적 언어이다. 따라서 특정 기능을 사용하려면 해당 기능에 사용되는 변수를 선언하고 new를 통해 사용하려는 객체(Object)를 생성해야한다.



'개인공부 > JAVA' 카테고리의 다른 글

Java 08 : 필드와 메소드  (2) 2014.07.30
Java 07 : PowerJava2 p.169 LAB 1  (0) 2014.07.30
Java 06 : 문자열(String) 클래스  (0) 2014.07.30
Java 05 : 클래스와 객체  (0) 2014.07.30
Java 04 : 지나가는 switch 문 예제  (0) 2014.07.16
Java 03 : 변수  (5) 2014.07.14
Java 02 : 자바 프로그래밍 기초  (0) 2014.07.14
Java 01 : 자바 소개, 개발 도구  (1) 2014.07.14
프로필사진

Yowu (Yu Yongwoo)

My MBTI type is ENTP. (Of course I do not believe it 100%, but I want to do that) I use Node.js to develop the backend. I use Ubuntu Linux as my development environment, and I love Vim. I am interested in open source and are keen to contribute. I have a bachelor's degree in computer science from Catholic University and now a software engineer at Plating Inc., I spent about 5 years developing and learning, and I am still interested in software development and culture. Recently, I am interested in React, Serverless structure, Domain Design Driven. Sometimes I play drums in the band.