3 minute read


자바 프로그램의 기본 구조


// 클래스
public class Hello {

  // 메소드
  public static int sum(int n, int m) {
    return n + m; 
  }
  
  // main() 메소드에서 실행 시작
  public static void main(String[] args) {
    int i = 20;
    int s;
    char a;
    s = sum(i, 10); // sum() 메소드 호출
    a = '?';
    System.out.println(a); // 문자 '?' 화면 출력 
    System.out.println("Hello"); // "Hello" 문자열 화면 출력 
    System.out.println(s); // 정수 s 값 화면 출력
  } 
}

/* 실행결과

?
Hello
30

*/



코드 설명

  • 클래스 만들기
    • Hello 이름의 클래스를 선언.
    public class Hello{
    
    }
    
    • class 키워드로 클래스 선언
    • public 선언하면 다른 클래스에서 접근 가능
    • 클래스 코드는 {} 내에 모두 작성

  • 주석문

    // 한 라인 주석
      
    /*
    여러행
    주석
    달기
    */
    



  • main()메소드
    • 자바 프로그램은 main() 에서 실행 시작
    public static void main(String[] args) {
    
    }
    
    • public static void 로 선언
    • String args 로 실행 인자를 전달 받는다.

  • 메소드
    • C/C++ 에서의 함수를 메소드로 지칭
    public static int sum(int n, int m) [
    
    ]
    
    • 클래스 바깥에 작성할 수 없다

  • 메소드 호출
    • sum() 메소드 호출
    int i = 20;
    s = sum(i, 10);
    
    • sum() 호출 시 변수 i의 값과 정수 10을 전달
    • sum() 은 n과 m에 각각 20, 10 값 전달
    • sum() 은 n과 m값을 더한 30 리턴
    • 변수 s는 정수 30을 전달 받는다

      methodcall_Procdess
      메소드 호출 및 리턴 과정

  • 변수 선언
    • 변수 타입과 변수 이름 선언
    int i = 20;
    char a;
    
    • 메소드 내에서 선언된 변수는 지역 변수
      • 지역 변수는 메소드 실행이 끝나면 자동 소멸

  • 문장
    • ;를 사용하여 한 문장의 끝을 인식
    int i = 20;
    s = sum(i, 20);
    



  • 화면 출력
    • 표준 출력 스트림에 메시지 출력
    System.out.println("Hello"); // "Hello" 화면 출력
    
    • 표준 출력 스트림 System.out 의 println() 메소드 호출
    • println()은 여러 타입의 데이터 출력 가능
    • println()은 출력 후 다음 행으로 커서이동
    • 커서를 이동하지 않는 print(), printf()도 사용 가능.

식별자 (Identifier)

  • 식별자란?
    • 클래스, 변수, 상수, 메소드 등에 붙이는 이름.
  • 식별자의 원칙
    • @ , # , ! 와 같은 특수 문자, 공백 또는 탭은 식별자로 사용할 수 없으나 ‘_’, ‘$’ 는 사용 가능
    • 유니코드 문자 사용 가능. 한글 사용 가능.
    • 자바 언어의 키워드는 식별자로 사용불가
    • 식별자의 첫 번째 문자로 숫자는 사용불가
    • ‘_’ 또는 ‘$’ 를 식별자로 사용할 수 있으나 일반적으로 잘 사용하지 않는다.
    • Boolean literal (True, False) , NULL literal(null) 은 식별자로 사용불가
    • 길이 제한 없음
  • 대소문자 구별
    • Test 와 test는 별개의 식별자이다.

Java 식별자 사용의 예

사용 가능한 예

  int name;
  char student_ID;  // '_' 사용 가능
  void $func() { }  // '$' 사용 가능
  class Monster3 { }  // 숫자 사용 가능
  int whatsyournamemynameisseungmin; // 길이 제한 없음
  int barChart; int barchart; // 대소문자 구분. barChart와 barchart는 다름
  int 가격; // 한글 이름 사용 가능

사용 불가능한 예

  int 3Chapter; // 식별자의 첫문자로 숫자 사용 불가
  class if{}  // 자바의 예약어 if 사용불가
  char false; // false 사용 불가
  void null() { } // null 사용 불가
  class %calc { } // '%'는 특수문자



자바 키워드

javaKeyword_Procdess
Java Keyword



좋은 네이밍을 위한 Java 언어 관습

  • 기본 : 가독성 높은 이름
    • 목적을 나타내는 이름 붙이기 : s 보다 sum
    • 충분히 긴 이름으로 붙이기 : AVM보다 AutoVendingMachine

  • 자바 언어의 이름 붙이는 관습 : 헝가리언 이름 붙이기
    • 클래스 이름
      • 첫 번째 문자는 대문자로 시작
      • 각 단어의 첫 번째 문자만 대문자
        public class CarefreeLifeWorld { }
        class AutoVendingMachine { }
        



  • 변수, 메소드 이름
    • 첫 단어 이후 각 단어의 첫 번째 문자는 대문자로 시작
      int myAge;
      boolean isSingle; 
      public int getAge() {}
      



  • 상수 이름
    • 모든 문자를 대문자로 표시
      final static double PI = 3.141592;
      



자바의 기본 타입

  • 특징
    • 기본 타입의 크기가 정해져 있다.
    • CPU나 O/S(운영체제)에 따라 변하지 않는다.

      javaType_Procdess
      Java - Type



문자열

  • 문자열은 기본 타입이 아니다.
  • String 클래스로 문자열 표현
    • 문자열 literal - “JDK”, “한글”, “안녕하세요”
      String toolName = "JDK";
      
    • 문자열이 섞인 + 연산 (문자열의 연결)
      String toolName = "JDK";
      toolName + 1.8  // "JDK1.8"
      "(" + 3 + "," + 5 + ")" // "(3,5)"
      System.out.println(toolName + "이 출시됨"); // "JDK1.8이 출시됨" 출력
      



변수와 선언

  • 변수
    • 프로그램 실행 중에 값을 임시 저장하기 위한 공간
      • 변수 값은 프로그램 수행 중 변경될 수 있다.
    • 데이터 타입에서 정한 크기의 메모리 할당
  • 변수 선언
    • 데이터 타입 다음에 변수 이름을 적어 변수를 선언

      variable_Procdess
      Java - 변수와 선언



변수 선언 사례

  • 변수 선언 사례
    • 다중 선언
      int radius;
      char c1, c2, c3;  // 3개의 변수를 한 번에 선언한다.
      
  • 변수 선언과 초기화
    • 선언과 동시에 초기값 지정
      int radius = 10;
      char c1 = 'a', c2 = 'b', c3 = 'c';
      double weight = 75.56;
      
  • 변수 읽기와 저장
    • 대입 연산자인 = 다음에 식(expression)
      int radius;
      char c1;
      double weight = 75.56;
      radius = 10 * 5;
      c1 = 'r';
      weight = weight + 5.0;
      



최대한의 설명을 코드 블럭 내의 주석으로 달아 놓았습니다.

혹시 이해가 안가거나 추가적인 설명이 필요한 부분, 오류 등의 피드백은 언제든지 환영합니다!

긴 글 읽어주셔서 감사합니다. 포스팅을 마칩니다.



처음으로~

Task Lists

  • [x]
  • [x]
  • [x]
  • [x]
  • [x]
  • [x]
  • [x]
  • [x]
  • [x]

Tags:

Categories:

Updated:

Comments