Note-Taking / / 2024. 7. 11. 08:43

Java 입문 정리

클래스 정의의 가장 기본적인 형태는 다음과 같습니다:

class name {
    . . .
}

 

모든 애플리케이션이 클래스 정의로 시작한다는 것을 아는 것만으로 충분합니다.

Java 프로그래밍 언어에서는 모든 애플리케이션에 다음과 같은 시그니처를 가진 main 메서드가 포함되어야 합니다:

public static void main(String[] args)

 

제한자(modifier)인 public과 static은 어느 순서로든 작성할 수 있지만 (public static 또는 static public), 관례적으로 위에서 보이는 것처럼 public static을 사용합니다. 아규먼트 이름은 원하는 대로 지정할 수 있지만, 대부분의 프로그래머는 "args" 또는 "argv"를 선택합니다.

 

main 메서드는 단일 아규먼트를 허용합니다: String 타입 요소의 배열.

 

소프트웨어 객체는 개념적으로 현실세계 객체와 유사합니다: 이들도 상태와 관련된 행동으로 구성됩니다. 객체는 상태를 필드(일부 프로그래밍 언어에서 변수)에 저장하고 메서드(일부 프로그래밍 언어에서 함수)를 통해 행동을 외부에 노출합니다. 메서드는 객체의 내부 상태에서 작동하며 객체 간의 주요 통신 메커니즘으로 작용합니다. 내부 상태를 숨기고 모든 상호작용을 객체의 메서드를 통해 수행하도록 요구하는 것을 데이터 캡슐화라고 하며, 이는 객체 지향 프로그래밍의 기본 원칙입니다

 

Java 프로그래밍 언어는 다음과 같은 종류의 변수를 정의합니다.

  • Instance Variables 인스턴스 변수(Non-Static Fileds 비정적 필드) 기술적으로 말하면 개체는 "비정적 필드", 즉 static 키워드 없이 선언된 필드에 개별 상태를 저장합니다. 비정적 필드는 해당 값이 클래스의 각 인스턴스 (즉, 각 객체) 에 고유하기 때문에 인스턴스 변수 라고도 합니다 . 한 자전거의 currentSpeed는 다른 자전거의 currentSpeed와 독립적입니다.
  • Class Variables 클래스 변수(Static Variables 정적 필드) 클래스 변수는 static 수정자로 선언된 필드입니다. 이는 클래스가 인스턴스화되는 횟수에 관계없이 이 변수의 복사본이 정확히 하나만 존재한다는 것을 컴파일러에 알려줍니다. 특정 종류의 자전거에 대한 기어 수를 정의하는 필드는 static개념적으로 동일한 수의 기어가 모든 인스턴스에 적용되므로 다음과 같이 표시될 수 있습니다. 코드 s tatic int numGears = 6; 이러한 정적 필드를 생성합니다. 또한 기어 수가 절대 변경되지 않음을 나타내기 위해 final 키워드를 추가할 수 있습니다.
  • Local Variables 지역 변수 객체가 자신의 상태를 필드에 저장하는 방법과 유사하게 메소드는 종종 임시 상태를 지역 변수 에 저장합니다 . 지역 변수를 선언하는 구문은 필드를 선언하는 것과 유사합니다(예: int count = 0;). 변수를 지역 변수로 지정하는 특별한 키워드는 없습니다. 해당 결정은 변수가 선언된 위치, 즉 메서드의 여는 중괄호[{]와 닫는 중괄호[}] 사이에서 전적으로 이루어집니다. 따라서 지역 변수는 해당 변수가 선언된 메서드에서만 볼 수 있습니다. 나머지 클래스에서는 액세스할 수 없습니다.
  • Parameters 매개변수 Bicycle 클래스와 "Hello World!" 어플리케이션의 main 메소드 모두에서 파라미터의 예를 이미 보았습니다. 애플리케이션. main 메서드의 시그니처는 public static void main(String[] args)입니다. 여기서 args 변수는 이 메소드에 대한 파라미터입니다. 기억해야 할 중요한 점은 파라미터는 항상 "필드"가 아닌 "변수"로 분류된다는 것입니다. 이는 이 자습서의 뒷부분에서 배우게 될 다른 파라미터 허용 구문(예: 생성자 및 예외 처리기)에도 적용됩니다.

"수정자"는 객체 지향 프로그래밍에서 멤버 변수나 메서드의 동작을 변경하거나 제어하는 키워드를 말합니다. Java에서 "수정자(modifier)"는 클래스, 변수, 메서드에 적용되며, 해당 요소의 특성을 수정하거나 제한합니다. 예를 들어, "static" 수정자는 클래스 변수를 선언할 때 사용되며, 해당 변수가 클래스 수준에 속하고 인스턴스 간에 공유됨을 나타냅니다. 또한 "final" 수정자는 변수를 상수로 선언하여 한 번 할당된 값을 변경할 수 없게 합니다. 따라서 수정자는 변수나 메서드의 동작에 대한 특성을 조절하고 제한하는 데 사용됩니다.

 

타입"이란 말은 일반적으로 특정 클래스나 구조체, 또는 데이터 유형을 가리킵니다. 그러므로 동일한 클래스나 구조체에 속하는 모든 멤버들은 해당 타입의 멤버들이 됩니다. 따라서 클래스나 구조체에 속하는 필드, 메서드, 중첩된 타입(내부 클래스 또는 중첩된 구조체) 등을 통틀어서 해당 클래스나 구조체의 "멤버"라고 부릅니다. 이러한 멤버들은 해당 클래스나 구조체의 기능과 상태를 정의하고 구성합니다.

 

모든 프로그래밍 언어에는 사용할 수 있는 이름 종류에 대한 고유한 규칙과 규칙이 있으며 Java 프로그래밍 언어도 다르지 않습니다. 변수 이름 지정 규칙과 규칙은 다음과 같이 요약할 수 있습니다.

  • 변수 이름은 대소문자를 구분합니다. 변수의 이름은 문자로 시작하거나 달러 기호 "$", 또는 밑줄 문자 ""로 시작할 수 있는 Unicode 문자와 숫자로 이루어진 길이 제한이 없는 시퀀스입니다. 그러나 관례적으로 변수 이름을 항상 문자로 시작하며, "$"나 ""로 시작하지 않습니다. 또한, 관례적으로 달러 기호는 전혀 사용하지 않습니다. 일부 자동 생성된 이름에 달러 기호가 포함된 경우가 있을 수 있지만, 변수 이름을 지정할 때는 항상 달러 기호를 피해야 합니다. 밑줄 문자에 대해서도 유사한 관례가 존재합니다. 기술적으로는 변수의 이름을 밑줄 문자 "_"로 시작하는 것이 가능하지만, 이러한 관행은 권장되지 않습니다. 공백은 허용되지 않습니다.
  • 이어지는 문자는 문자, 숫자, 달러 기호 또는 밑줄 문자가 될 수 있습니다. 이 규칙에도 관례(그리고 상식)가 적용됩니다. 변수의 이름을 선택할 때는 약어 대신 완전한 단어를 사용하세요. 이렇게 함으로써 코드를 읽고 이해하기 쉬워집니다. 많은 경우 이러한 방법은 코드 자체가 자기 설명적이 되도록 만듭니다. 예를 들어, cadence, speed, gear와 같은 필드 이름은 s, c, g와 같은 약어보다 훨씬 직관적입니다. 또한 선택한 이름이 키워드나 예약어가 아니어야 합니다. 
  • 선택한 이름이 한 단어로만 이루어져 있다면, 그 단어를 모두 소문자로 씁니다. 두 개 이상의 단어로 이루어진 경우, 각 단어의 첫 글자를 대문자로 씁니다. gearRatio와 currentGear라는 이름은 이 관례의 대표적인 예입니다. 변수가 상수 값을 저장하는 경우(static final int NUM_GEARS = 6와 같이), 관례가 약간 변경되어 각 글자를 대문자로 쓰고 연속된 단어는 밑줄 문자로 구분합니다. 관례적으로 밑줄 문자는 다른 곳에서는 사용하지 않습니다.

Java 프로그래밍 언어는 또한 char 및 String 리터럴에 대해 몇 가지 특수한 이스케이프 시퀀스를 지원합니다: 

\b (backspace), 

\t (tap), 

\n (line feed), 

\f (form feed), 

\r (carriage return), 

\" (이중 인용부호), 

\' (단일 인용부호), 및 \\ (backslash).

 

int[] anArray; // allocates memory for 10 integers.  

anArray = new int[10];

                                     // 정수 배열을 생성합니다. anArray = new int[10];

 

 

 

ArrayList 예)

package com.intheeast.hello;

import java.util.ArrayList;
import java.util.List;

public class Testing1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		List<String> al = new ArrayList<>();
		
		al.add("철수");
		al.add("영희");
		
		for ( String s : al) {
			System.out.println(al);
		}
	}

}

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유