코학다식

Java 시작하기 :: 자바 프로그래밍 기초 본문

Programming/Java

Java 시작하기 :: 자바 프로그래밍 기초

copeng 2019. 9. 8. 20:51

Java 시작하기 (2)

자바 프로그래밍 기초 (1)

 

 

  1. 자바 프로그래밍 기초: "Hello, World!"

 

package FirstProgram;

public class HelloWorld {
    public static void main(String[] args){
        System.out.println("Hello, World!");
    }
}

 

  • 자바에서 모든 것은 객체(object)이다.
  • 객체는 클래스(class)인스턴스(instance)이다.
  • 위 예제 프로그램은 HelloWorld라는 하나의 클래스를 가진다.

 

  • 클래스는 메서드(methods)를 가질 수 있다. HelloWorld 클래스는 main이라는 하나의 메서드를 가진다.
  • main 메서드는 프로그램의 entry point(starting point)이다.
  • 이는 static으로 선언되어 있는데, 이 메서드가 인스턴스를 필요로 하지 않음을 의미한다.
  • 메서드의 리턴 타입은 void인데, 이는 이 메서드가 아무것도 리턴하지 않음을 의미한다.
  • 메서드는 입력 인자로 String의 배열을 받는다.

 

  • 클래스와 메서드 앞의 public?
    • 반대는 private이다.
    • 클래스와 메서드는 보통 public으로 선언된다.
    • 이들의 의미는 차차 알아보도록 한다.

 

  • Package
    • 첫 번째 줄의 package FirstProgram;은 무엇을 의미할까?
    • 패키지 안에는 관련된 여러 개의 클래스를 넣을 수 있다.
      • 폴더 안에 있는 서로 연관된 여러 파일과 같다.
    • 계층적인 패키지를 사용할 수도 있다.
      • e.g.) package StartingJava.FirstJava.HelloWorld;

 

  •  주석
    • 한 줄 주석은 // 사용
    • 여러 줄 주석은 /* */ 사용

 

  • 메서드의 내용
    • main 메서드는 한 줄을 가진다.
      • System.out.println("Hello, World!")
    • 이는 standard output에 메시지를 출력하기 위해 자주 사용되는 자바 라이브러리 메서드다.
      • System.out은 standard output을 가리키는 객체이다.

 

 

1-1. 자바에서 메서드 호출하기


 

다시 한 번 예제 프로그램을 보자.

 

package FirstProgram;

public class HelloWorld {
    public static void main(String[] args){
        System.out.println("Hello, World!");
    }
}

 

  • "Hello, World!"String 클래스의 인스턴스이다.
  • String 클래스는 length라고 불리는 인스턴스 메서드를 가진다.
    • 다음과 같이 length 메서드를 호출할 수 있다.
    • "Hello, World!".length()
    • 이것은 string의 길이를 리턴할 것이다.

 

  • System.out 또는 `"Hello, World!"는 이미 인스턴스로 만들어졌다.
  • 보통, 우리는 new라는 키워드를 사용해서 클래스의 인스턴스를 만든다.
  • 예를 들어, 우리는 라이브러리에 정의된 클래스인 Random의 인스턴스를 다음과 같이 만들 수 있다.

 

package FirstProgram;

import java.util.Random;

public class FirstRandom {

    public static void main(String[] args){

        Random generator = new Random();
        System.out.println(generator.nextInt());
    }
}

 

  • import는 이 프로그램이 특정 라이브러리를 사용할 것임을 선언하기 위해 사용된다.
    • 위의 예제의 경우, 우리는 Random 클래스를 가진 java.util.Random 라이브러리를 사용할 것이다.

 

  • Random generator = new Random();

    • generatorRandom 클래스의 인스턴스가 된다.

    • Random 클래스는 nextInt라는 인스턴스 메서드를 가지는데, 이 메서드는 랜덤 정수를 리턴한다.

 

 

1.2. Primitive Types


 

  • 자바에서, 대부분의 변수는 객체(= 클래스인스턴스)이다.
  • 그럼에도 자바는 몇 개의 기초적인 타입을 가진다.
    • 정수 타입
      • byte (1 byte): -128~127
      • short (2 bytes): -32,768~32,767
      • int (4 bytes): -2,147,483,648~2,147,483,647
      • long (8 bytes): -9,223,372,036,854,775,808~9,223,372,036,854,775,807
    • 타입 명시하지 않은 정수를 쓰면, 자바는 int로 인식한다.
    • 만약 long 타입의 정수를 쓰고 싶다면 끝에 L을 붙인다.
    • 16진수(0x)나 2진수(0b)도 쓸 수 있다.

 

  • 부동소수점 타입
    • float (4 bytes): 6-7-digit precision
    • double(8 bytes): 15-digit precision
    • 만약 부동소수점을 쓰면, 자바는 double 타입으로 인식한다.
      • 3.14, 3.14E5 → double
      • 3.14F → float

 

  • char 타입
    • character 타입
    • 자바에서는 char보다 String이 훨씬 자주 쓰인다.

 

  • boolean 타입
    • true, false
    • 숫자가 아니다. (true와 false가 각각 1과 0에 대입되지 않음)
    • boolean을 정수로 변환할 수 없다.
Comments