JAVA Programming/JAVA 개념 정리

JAVA 응용 프로그램의 기본 구조

psy_er 2021. 9. 21. 00:00
728x90

JAVA  응용 프로그램의 기본 구조

 

자바 프로그램은 클래스들로 구성된다. 보통 클래스는 하나 이상의 메서드들을 가진다. 메서드는 함수와 비슷한 개념으로 프로그램 문장들로 구성된다. 모든 메서드는 반드시 클래스 정의 안에 위치한다. 자바 응용 프로그램은 main() 메서드를 갖는 클래스로부터 시작된다. 실행시 JVM에 의해 호출되는 첫 번째 메서드이다.. 프로그램의 흐름을 통제한다.

 

클래스 

클래스는 자바 프로그램을 구성하는 기본 단위이다. 보통 클래스 이름은 파일 이름과 일치해야 한다.. 대소문자를 구분한다. 보통 하나의 소스 파일에 하나의 클래스가 정의된다. 클래스의 구성은 C의 구조체와 유사하다. 변수뿐만 아니라 상수와 메서드도 포함된다.

 

클래스 = 멤버 필드(변수/상수) + 메서드(함수)이다.

자바 응용 프로그램 실행 시 JVM에JVM 의해 해당 클래스의 main() 메서드가 호출된다.

 

키워드는 미리 정의되어 사용하는 단어이다. 문법적으로 고유한 의미를 가진다. 식별자는 프로그래머가 클래스, 변수, 상수, 메서드 등에 붙이는 이름이다. 유니코드 문자와 숫자의 조합 사용이 가능하다. 키워드는 식별자로 사용 불가능하다.

 

 

<주의할 점>

-식별자의 첫 문자로 숫자는 사용 불가능하다.

-특수문자를 사용하면 안 된다..

-예약어를 사용하면 안 된다..

-null을 사용하면 안 된다..

 

 

의미

클래스의 첫 문자는 보통 대문자로 표현한다. 하나 이상의 단어가 합쳐질 때는 각 단어의 첫 문자들만 대문자로 표현한다. 변수와 메서드의 첫 문자는 보통 소문자로 표현한다. 하나 이상의 단어가 합쳐질 때는 두 번째부터 오는 단어의 첫 문자들만 대문자로 표현한다. 상수의 모든 문자를 대문자로 표현한다. 하나 이상의 단어가 합쳐질 때 공백 필요시 underscore(_)을underscore(_) 사용한다. javadoc 주석은 /**에서 */ 사이의 문장. 보통 설명보단 작성자 의도를 기술한다. javadoc으로 HTML 형식의 API 문서 생성 시 자동 참조된다.

 

 

변수

변수는 어떤 값을 저장할 수 있는 메모리의 위치에 주어진 이름이다.

지역변수는 함수 안에서 선언된 변수이다. 함수 내 어디서든지 선언 가능하다.

매개변수는 함수 정의부에서 선언된 변수이다. 일종의 지역변수로 실 인수로 자동 초기화된다.

멤버 변수는 클래스 정의 안에서 선언된 변수이다.

 

 

참조 자료형

참조 자료형은 메모리 상의 배열 주소나 객체가 저장된 주소를 갖고 있는 데이터형이다. 배열형, 클래스형, 인터페이스형이 있다. 포인터와 비슷한 개념으로 내부적으로는 포인터처럼 동작한다. 하지만 메모리 주소를 가지지는 않는다. 자바에는 명시적 포인터는 없다. 두 피연산자 중 하나가 문자열인 경우 연결 연산자+를 이용해 표현한다. 기본 자료형의 리터럴 상수는 값 자체를 직접 사용하는 상수이다. null.null 리터럴 상수는 참조자료형 변수에만 대입 가능하다. 유효한 참조값을 갖고 있지 않음을 표시해준다. 문자열 리터럴은 이중 따옴표 롤 표현한다. 문자열 리터럴은 String 객체로 자동 처리된다.

 

 

기호 상수 선언 방법

상수라는 것을 나타내기 위해서 final final이라는 키워드를 사용하여 반드시 값을 지정해야 한다. 보통 클래스 멤버 필드 영역에 선언되며 static 키워드와 함께 사용된다.

 

char형과 short형은 int형으로 변환된다.

float형은 double형으로 변환된다. 대입문에서는 등호 왼쪽의 변수형으로 변환된다.

 

728x90

묵시적 변환 / 명시적 변환/ 확대 형 변환 / 축소 형 변환 규칙

묵시적 변환은 char형과 short형은 int형으로 변환된다. float형은 double형으로 변환된다. 대입문에서는 등호 왼쪽의 변수형으로 변환된다.

 

명시적 변환은 이미 지정된 자료형을 다른 자료형으로 강제적으로 바꾸고자 할 때 일어난다. cast 연산자를 사용하면 표형식의 결괏값을 새 자료형으로 변환한다. 기존의 표현식 자체의 자료형은 바뀌지 않고 기본자료형과 참조자료형 간의 형 변환은 일어나지 않는다.

 

확대 형 변환은 두 개의 타입이 같거나 target typesource type 보다 더 넓어 값의 손실이 발생되지 않고 저장된다. 컴파일러에 의해 자동으로 오류 없이 묵시적으로 변환된다.

 

축소 형 변환은 확대 형 변환의 반대의 경우이다. 명시적인 형 변환 구문이 필요하다.

 

 

 

사칙 연산자의 자동 형 변환

 

같은 자료형의 피연산자들의 연산에서는 기본적으로 피연산자 항과 같은 자료형의 결괏값을 가진다. 두 피연산자가 int 형보다 좁은 자료형일 경우 피연산자의 자료형과 무관하게 int형으로 자동 변환된다.

 

다른 자료형의 피연산자들의 연산에서는 컴퓨터는 서로 다른 자료형의 피연산자 항들로 바로 연산할 수 없기에 자동 형 변환이 일어난다. 대부분 넓은 범위의 자료형 쪽으로 변환이 일어난다.

 

 

 

728x90

'JAVA Programming > JAVA 개념 정리' 카테고리의 다른 글

JAVA 클래스 상속  (1) 2021.11.10
JAVA 캡슐화 정보은닉  (12) 2021.09.26
JAVA와 c++의 차이점  (7) 2021.09.24
JAVA의 조상 C++  (4) 2021.09.23
JAVA instance static 메서드 오버 로딩  (1) 2021.09.22