일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 자바강의노트
- 배열함수
- if문
- 자바스크립트배열
- 개발공부
- insert
- 이클립스설치
- 자바기초
- 자바공부
- 참조변수
- Eclipse
- 2022청년희망적금
- 자바문자열연결
- 청년희망적금
- apachetomcat
- 청년희망적금미리보기
- mysql오류
- MySQL
- ToString()
- 자바배열
- 저축장려금
- Java
- 공부
- equals()
- 자바스크립트
- 자바
- 이클립스
- 신한은행청년희망적금
- 청년적금
- StringBuffer
- Today
- Total
eterno
JAVA공부 7. import키워드, 변수(상수, 클래스변수, 멤버변수, 전역변수, 지역변수), 함수 본문
변수를 다른곳에서 가져오면 패키지명+클래스를 써야함.
이클립스에서 java.lang 패키지 확인하기
java.lang.* 키워드는 이클립스에서 Jre System Library - rt.jar - java.lang 에서 확인 가능함
import 키워드
패캐지를 사용할때는 패키지명+ 클래스명을 다 써줘야함
-> 10행에 date 앞에 패키지명이 선어되지 않아 오류난다. (11행처럼 써야 됨)
패키지와 함수 사이에 import 키워드를 선언하면 패키지명 생략가능
* 코드마다 일일이 패키지명을 쓰면 불편하니까 import라는 함수를 이용해서 패키지를 선언하여 생략 가능하다.
ex) import java.util.Date => java.util 패키지안에 Date 패키지를 선언한다
import.java.util.* => java.util 안에 있는 모든 패키지를 선언한다.
lang은 예외!!
lang키워드 안에 있는 패키지는 문자(문자+문자열)와 숫자(정수, 실수) 를 다루는 자바의 기본이라
앞에 java.lang 선언하지 않아도 생략가능
(java.lang.* 의 패키지를 코어자바라고 함)
클래스 = 함수 + 변수
변수(Filds)
상수, 클래스변수, 멤버변수, 전역변수, 지역변수
아래의 예제를 해석해 보자!
- 상수(Constant)
- 항상 변하지 않는 값(상수의 값을 변경하면 안된다.)
- final static ~~ 이렇게 시작된다.
final : 상수 값을 변경 못하게 하는 키워드
static 키워드 : 'static 키워드 뒤에 오는 변수의 값을 메모리에 올리세요'라고 버철머신에게 부탁한다.
- 클래스 로딩하는 시점에 변수 값이 초기화 된다.
- 식별자는 대문자로 써야하고 합성어인경우_로 연결한다(MAX_VALUE)
- 상수는 public를 붙여도 되고 안붙여도 된다.(보통 붙임)
- 변수에 public 키워드가 붙으면 패키지 밖에서도 호출할 수 있다. (전역 변수 개념이 적용됨)
- 상수는 항상 (상수가 속해있는)클래스이름.상수변수이름으로 사용한다.
ex) System.out.println(CommonUtil.CONST_INT_TEST);
* 문자상수 : \n, \t ...
- 클래스변수(class variable)
- static 변수라고도 한다.
- static ~~~이렇게 시작된다.
- static 키워드 : 'static 키워드 뒤에 오는 변수의 값을 메모리에 올리세요'라고 버천머신에게 부탁한다.
- 클래스 로딩하는 시점에 선언한 변수의 디폴트(default) 값으로 초기화 된다.
- 변수 앞에 접근 제한자(Access Modifier, = public)가 없으면 package(defalut) 접근 제한자라고 부르며
사용범위는 해당 패키지에서 호출(사용)이 가능하다.
=> 패키지 내에서는 별도로 선언하지 않고 불러서 사용가능
- 일반 멤버변수(=멤버필드)
- 해당 변수를 사용하려면 메모리에 올려서 사용해야 한다.
- 메모리에 올리는 방법은 new 연산자 또는 상속하는 방법이 있다.
- new 연산자로 메모리에 올릴때 디폴트(default) 값으로 초기화 한다.
- 멤버 변수, 멤버 필드를 선언할 때는 초기화를 하지 않는다.
ex) byte b; <-- 이렇게 사용하기
ex) byte b1 = 1; <-- 이렇게 사용하면 안됨
- 변수앞에 접근 제한자(Access Modifier= public)가 없으면 package(defalut) 접근 제한자라고 부르며
사용범위는 해당 패키지에서 호출(사용)이 가능한다.
- 전역변수(grobal variable)
- 일반 멤버 변수인데 public 키워드가 붙어서 전역 변수하고 한다.
- public ~~ 이렇게 시작한다.
- 기능을 멤버변수와 동일하게 적용하면 된다.
System.out.println("MAX_VALUE >>> : " + MAX_VALUE);
=> public final static int MAX_VALUE = 100; 이 문장에서 선언한 int 자료형 숫자 상수 MAX_VALUE 를 호출해서(invoked) 콘솔에 출력한다.
일반 멤버변수, 멤버필드, 전역변수를 사용하려면 메모리에 올려야 하는데
지금은 클래스를 인스턴스(new 연산자)해서 멤버변수, 전역변수를 메모리에 올리면서
해당 변수 자료형의 디폴트(defalut) 값으로 초기한 한다.
vt 참조변수로 해당하는 멤버변수를 호출해서 콘솔에 출력한다.
상수 호출하기 예제) CommonUtil의 상수를 VariableTest_1 클래스에 가져온다.
- 지역변수(LocaVariable)
: 함수 내부에서 선언하는 변수
- 지역변수는 함수 내부에서 생성하여 함수 내부에서 끝난다.
- 지역변수는 함수 밖으로 나갈 수가 없다.(=> 외부에서 호출 할 수 없다.)
- 자바에서는 메모리 해제를 개발자가 코드에서 직접 할 수가 없고
메모리 해제 등 메모리 관련해서는 가비지 컬렉터가 담당 한다.
지역변수 예제1)
지역변수 예제2)
맞게 입력했을 때
출력값을 먼저 입력했을때 ) 오류나는 이유 : 자바는 인터프리터 방식이라 윗줄부터 읽기때문에 선언 먼저 해야함.
함수밖에서 변수를 호출 했을 때) 오류나는 이유 : xVal은 함수 안에 선언되어있는데 함수밖에서 xVal를 호출하면 안됨.
함수
: return, void
- 함수는 클래스 내부에서 위치에 상관없이 어느 곳에서나 선언할 수 있다.
(단, main() 함수를 해당 클래스 내부의 맨 하단에 선언하는 것을 원칙으로 한다.)
함수구성원
- 접근제한자(public)
- modifier : static, abstract
- 반환형 : void, 데이터 자료형(기초자료형, 참조자료형)
- 함수이름
- () 소괄호 , 소괄호 내부에 매개변수(parameter)
- {} : 함수 블럭 , 함수 블럭 내부의 맨 하단에 return 키워드(리턴형이 있을 때만)
* 함수는 블럭이 있는 함수도 있고 블럭이 없는 함수도 있다.
함수 시그니처 (Method Signature)
: 함수이름, 소괄호, 소괄호 내부에 매개변수 를 자바함수의 함수 시그니처 라고 한다.
- 자료형이 있는 함수
[public] [static | abstract] [void | 자료형] 함수이름(매개변수) {
[return];
}
- 자료형이 없는 함수
[public] [abstract] [void | 자료형] 함수이름(매개변수);
매개변수 : 함수를 선언할때 함수이름 뒤 ( ) 안에 선언하는 변수 또는 값
아규먼트 : 함수를 호출할 때 함수이름 뒤 ( ) 안에 선언하는 변수 또는 값
* 선언한 함수를 호출하면서 사용할 수 있다.
예제)
'JAVA > 강의노트' 카테고리의 다른 글
JAVA공부 9. 생성자 작성규칙과 자료형 변환 함수 (10) | 2022.08.15 |
---|---|
JAVA공부 8. 생성자와 Byte Wrapper Class (6) | 2022.08.14 |
JAVA공부 6. main(), public, 출력함수 (9) | 2022.08.11 |
JAVA공부 5. 이클립스 설치부터 참조변수, return() (6) | 2022.08.10 |
JAVA공부4. 자료형과 인코딩, 디코딩 (6) | 2022.08.09 |