2. 클래스 구성 요소

- 변수 기타 제한자 static(17)

클래스(static) 변수라고 한다.

C에서 전역변수 개념과 비슷하다.

인스턴스 변수는 각 객체마다 공유의 개념이 아니고 각각의 데이터이지만

클래스 변수는 어떠한 객체를 생성하든 공유된다.


-JVM 메모리 관리 모델

[         static영역          ][stack영역][                     haep영역                    ]


heap > static > stack 순으로 크다


1. 클래스를 선언하는순간 static영역 메모리에 로드가된다.

2. 변수가 스택영역에 할당된다.

3. new 하는순간 static에 선언된 클래스가 heap에 로드된다.


클래스 자체가 로드되는곳(클래스로더, static영역)

스텍 영역은 지역변수가 로드되는 영역이다.

힙 영역은 인스턴스가 할당되는 영역이다.


스택은 지역변수만 넣기때문에 작다.


클래스 변수는 static 영역에 로드된다.

기존의 인스턴스 변수는 heap영역에 로드된다.

heap영역에는 클래스변수가 로드되지 않는다. 오직 static 에만 로드된다.


할당될떄 "클래스이름.클래스변수" 로 할당된다.

다른 모든 인스턴스들과 공유되는 변수, 메소드 이다.



- math 클래스는 100% static 메소드로 되어있다.


- 상수 처리의 일반적인 구조

public final static int value = 10;

변수명은 대문자로 써준다. 일반적으로


- 패키지 생성 방법(시험문제)

javac -d . SomeClass.java

javac 디렉토리생성 명령어 좌표 파일명

패키지명은 소문자 클래스 명의 시작은 대문자로 쓴다. 구분하기 위해


- 서로 다른 package의 클래스를 사용하기 위해 import를 쓴다.

실제 패키지명은 패키지 + 클래스명 으로 구성된다.(컴파일러 단에서)


실행시 반드시 패키지명을 포함시켜야한다.


- 4. 메소드 오버로딩

동일한 이름으로 사용가능 <-- 장점

조건 : 매게변수의 개수나 데이터유형이 서로 달라야한다.

리턴타입은 오버로딩과 관계없다. 

오로지 매개변수 타입과 갯수에만 관계가있다.


- 5. 배열.ppt

동일한 타입이 다수 들어간것

배열 자체를 메소드로 취급한다.


배열을 하나의 클래스처럼 취급한다.


한방에 선언, 생성, 초기화할때

int[] array = new int[]{0,~~}

사이즈 크기를 주지않는다.


자바는 정방향 배열이 아니다.

참조의 참조 객체로 사용한다.

C와 내부적인 구조가 다르다.


2차원 배열을 for문으로 돌릴때

for (int i = 0; i < array3.length ; i++){

for (int j = 0; j < array3[i].length ; j++){


array3[i].lenght 은 [i]가 가지고있는 배열의 크기



------------------



자바 배열 퀴즈

순서가 엉망인 1~10까지 배열을 가지고

순서대로 만들기


버블정렬로 구현하기


메소드에 래퍼런스를 넘길경우 굳이 그 메소드에서

리턴으로 값울 다시 가져올필요가없다

왜냐하면 래퍼런스로 메소드나 호출하는 부분에서도 래퍼런스가 가리키는

데이터의 위치는 같기때문이다.


- 참조 데이터 타입을 배열로 처리할 수 있다.

5, 배열(3)






'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

7월 2주차 2일 (2주)  (0) 2015.07.14
7월 2주차 1일 (2주)  (0) 2015.07.14
7월 1주차 4일 (1주)  (0) 2015.07.09
7월 1주차 3일 (1주)  (0) 2015.07.08
7월 1주 2일차 (1주)  (0) 2015.07.07
Posted by moyaiori
,