20문제 4지 선다


1. 자바 언어의 특징

운영체제에 독립적 즉 OS(플랫폼)에 무관

보안이 강력

고급언어

객체지향



2. 자바언어 실행순서

*.java (소스 파일) -> 컴파일(javac.exe) -> *.class (바이트코드 클래스 파일) -> 실행(java.exe)



3. 자바의 자료형타입

가. 정수형

byte(1바이트, 8비트), 

short(2바이트, 16비트), 

int(4바이트, 32비트), 

long(8바이트, 64비트)

나. 실수형

float(4바이트, 32비트), 

double(8바이트, 64비트)

다. 논리형

boolean(1비트, true or false)

라. 단일문자

char

마. 레퍼런스 자료형(기본 자료형 8가지 외의 자료형): 클래스형, 배열형, 인터페이스형 

클래스형: 클래스로부터 생성된 객체(인스턴스)의 시작 주소값을 가진다

예) String name = “이순신”;  

Student student = new Student(1111, “이순신”);

배열형: 자바에서는 배열을 클래스로 취급하기 때문에 생성된 배열의 시작 주소값을 가진다

예) int[] array = new int[10];

인터페이스형: 인터페이스를 구현한 클래스의 인스턴스 시작 주소값을 가진다

예) Remote remocon = new RemoteControl();



4. 자바의 증감식: i++, ++i, i--, --i

증감 연산자: 1씩 증가(i++, i=i+1, i+=1), 1씩 감소(j--, j=j-1, j-=1)

++i : 선증가(현재 i 값에서 1 증가 시킨 후의 값을 씀)  --i : 선감소

i++ : 후증가(현재 i 값을 쓰고 난 다음 1 증가)  i-- : 후감소


5. 배열 생성법

배열은

가. 하나 이상의 값을 저장할 때 사용한다

나. 고정된 크기다

다. 단 하나의 자료형 타입만 저장이 가능하다

라. 배열의 인덱스는 0부터이다


생성은

자료형[] 이름 = 자료형[크기] // 타입[] 식별자 = new 타입[크기]

자료형 이름[] = 자료형[크기] // 타입 식별자[] = new 타입[크기]


int[] array = new int[5]; // 크기가 5인 array란 이름의 정수형 배열 생성


array[0] = 1;

int array[] = { 1, 2, 3, 4, 5 };



6. if, swich~case

가. if(조건){ // if 문

조건이 참이면 실행;

}

if(조건){ // if ~ else 문

조건이 참이면 실행;

}else{

조건이 거짓이면 실행;

}

if(조건1){ // if ~ else if ~ else 문

조건1이 참이면 실행;

} else if(조건2){

조건2이 참이면 실행;

} else{

조건1, 조건2이 거짓이면 실행;

}

나. switch(변수){

case 변수내용: // 변수 내용과 같은 case 일 경우 실행되는 영역

실행문;

break;

case 변수내용:

실행문;

break;

default: // 변수 내용과 같은 내용이 없는 경우 실행되는 기본값

기본 실행문;

break;

}

switch(식){

case 값1:

명령문들

break;

default :

명령문들

break;

}



7. for

for(초기화; 종료조건; 반복실행){

종료조건이 참인 동안 반복적으로 실행될 구문

}



8. 반복문 종류

가. for(초기화; 종료조건; 반복실행){

종료조건이 참인 동안 반복적으로 실행될 구문

}

for(초기화식; 조건식; 업데이트식){

실행부분

}

나. 향상된 for문 - 주로 배열항목 처리시 

for(변수타입 변수이름 : 배열이름){

실행부분

}

다.  while(조건){

조건이 참인 동안 반복 실행 영역

}

라.  do {

1. 일단 한번은 실행한다

2. 조건식이 참인 동안 반복한다

} while(조건식);

마. break, continue

break문 - 반복작업을 중간에 중단.

반복문 내에서 break문을 만나면, break문 이하의 내용을 중단하고 블럭( { } )을 탈출한다

continue문 - 실행을 즉시 중단하면서 반복은 지속.

반복문에서 continue문을 만나면, 아래 문장을 실행하지 않고 블럭의 처음으로 돌아가서 반복을 계속함



9. try catch 예외처리문

Try ~ Catch, 자바의 예외처리 순서

가. try구문으로 진입

나. try구문에서 정상 구문이 실행되다가 예외가 발생하면

다. 제어가 catch구문으로 이동, catch블록에서 예외를 처리

라. 예외 유무와 상관없이 finally 문은 무조건 마지막으로 실행


try{

문장;

} catch(exception e){

예외처리 구문;

} fianlly{

문장;

}


try{

try 블록

} catch (익셉션타입 익셉션변수) {

catch블록

} finally {

finally블록

}



10. 클래스 구성요소

클래스 구성요소 : 변수명(필드명), 생성자, 메서드



11. 클래스, 인터페이스 상속 // 추가정리 필요

자식클래스에서 부모클래스와 동일한 이름의 변수를 정의하면 부모클래스의 변수는 상속을 받지 않고 자식클래스의 변수를 사용한다

super는 부모클래스를 가리킨다.

super.x하면 부모클래스의 변수 x를 호출한다


인터페이스(Interface)

가. interface 예약어로 정의

나. implements 예약어로 상속한다 || 클래스 상속은 extends 예약어로 한다

다. 다중 상속 가능 || 클래스는 단일상속만 가능

라. new에 의해 객체 생성을 못한다

마. 상수(수정할 수 없는 변수)와 추상메서드만 올 수 있다

바. 인터페이스에 정의된 메서드는 추상메서드다. 추상메서드이기 때문에 인터페이스를 상속받은 자식클래스에서 추상메서드를     오버라이딩 해야한다



12. 인터페이스, 추상메서드 오버라이딩 강제성 // 추가정리 필요

가. 부모클래스에 있는 메서드와 동일한 메서드를 자식클래스에서 재정의해서 사용하는 것

나. 오버라이딩은 상속관계를 전제로 한다

다. 자식클래스에서 오버라이딩 된 부모클래스의 메서드는 super.부모메서드이름()로 호출

라. 오버로딩과 다른 개념

(같은 클래스 내에서 메서드를 재정의 하면 오버로딩, 상속 등에 의해 다른 클래스에서 메서드를 재정의 하면 오버라이딩?)


추상클래스를 상속받는 클래스는 반드시 추상 메서드를 오버라이딩으로 구현해야한다

추상클래스는 서브 클래스들이 특정 메서드를 반드시 구현하도록 강제성을 부여한다



13. 접근지정자(Access Modifiers)

class 접근지정자

-public : 패키지 상관없이 어디서든 접근 가능

-생략 : 같은 패키지 안에서만 접근 가능


메서드, 필드 접근지정자

-public : 패키지 상관없이 어디서든 접근가능

-protected : 같은 패키지 않에서 접근 가능, 상속이 됐을 때 다른 패키지에서 접근 가능

-생략 : 같은 패키지 안에서만 접근 가능

- private : 같은 페키지 안에서만 접근 가능


가. private: 같은 패키지의 같은 클래스 내에서만 접근 가능

나. 생략(기본 접근지정자): 같은 패키지 내에서만 접근 가능

다. protected: 같은 패키지의 다른 클래스+ 상속받은 자식클래스에서 접근 가능

라. public: 같은 패키지 뿐만 아니라 다른 패키지에서도 접근 가능


public          - 같은 패키지 or 다른 패키지

protected     - 같은 패키지 or 다른패키지의 상속받은 자식클래스

생략            - 같은 패키지

private         - 같은 패키지의 같은 클래스



14. printf()

printf("출력제어", 출력문);


출력제어

%d - 정수

%f - 실수

%c - 문자

%s - 문자열

%b - boolean

등등등


\n 개행

\t 탭

\b 한칸 back

\r 커서를 맨앞으로



System.out.printf("%d,%d", a,b); // int a,b 일 때 %d


System.out.printf('%s', String str )

System.out.printf('%c', char ch )

System.out.printf('%d', int i )


15. java.util 패키지의 Random 클래스 : random();

java.util 패키지의 일부인 Random 클래스는 의사난수 발생기(Pseudorandom number generator)이다.

Random 클래스는 일정 범위의 값들에서 한 개의 수를 임의로 선택한다.


Random generator = new Random();

 // int 값의 범위에서 정수 랜덤값을 추출한다.

// (-2,147,483,648 ~2,147,483,647)

num1= generator.nextInt(); // nextInt() - int타입 난수를 리턴, nextInt(5) - 0이상 5미만의 int 타입 난수를 리턴

System.out.println("A random integer: "+num1);  

        

// 0~9 사이의 정수 랜덤값을 추출한다.

num1= generator.nextInt(10);            

System.out.println("Form 0 to 9: " + num1);

        

// 1~10 사이의 정수랜덤값을 추출한다.

num1= generator.nextInt(10) + 1;        

System.out.println("Form 1 to 10 : " + num1);

        

// 20~34 사이의 정수 랜덤값을 추출한다.

num1= generator.nextInt(15) + 20;   // nextInt(15) 로 0~14인 15개 중에 +20하면 20~34   

System.out.println("Form 20 to 34: " + num1);



16. Integer클래스 하위 메서드

Wrapper 클래스 중 Integer 클래스

parseInt(String) - 문자열 인수를 부호 비트가 있는 십진수 정수로 구문 분석합니다. 

ex) int total = Integer.parseInt("12345"); 12345라는 문자열을 int 타입의 값으로 바꾸어서 total 변수에 저장


byteValue() - Integer의 값을 바이트로 리턴합니다.

decode(String) - 문자열을 Integer로 코드화를 해제합니다.

doubleValue() - Integer의 값을 double로 리턴합니다.

equals(Object) - 객체를 지정한 객체와 비교합니다.

floatValue() - Integer의 값을 부동 소수(float)로 리턴합니다.

getInteger(String) - 지정된 이름을 가진 시스템 특성의 정수 값을 판별합니다.

getInteger(String, int) - 지정된 이름을 가진 시스템 특성의 정수 값을 판별합니다.

getInteger(String, Integer) - 지정된 이름을 가진 시스템 특성의 정수 값을 판별합니다.

hashCode() - Integer의 해시 코드를 리턴합니다.

intValue() - Integer의 값을 정수(int)로 리턴합니다.

longValue() - Integer의 값을 long으로 리턴합니다.

parseInt(String, int) - 문자열 인수를 두 번째 인수에서 지정된 밑수의 부호 비트가 있는 정수로 구문 분석합니다.

shortValue() - Integer의 값을 short로 리턴합니다.

toBinaryString(int) - 정수 인수의 문자열 표시를 2진수의 부호 비트가 없는 정수로 작성합니다.

toHexString(int) - 정수 인수의 문자열 표시를 16진수의 부호 비트가 없는 정수로 작성합니다.

toOctalString(int) - 정수 인수의 문자열 표시를 8진수의 부호 비트가 없는 정수로 작성합니다.

toString() - Integer의 값을 표시하는 String 객체를 리턴합니다.

toString(int) - 지정된 정수를 표시하는 새로운 String 객체를 리턴합니다.

toString(int, int) - 두 번째 인수에서 지정된 밑수로 첫번째 인수의 문자열 표시를 작성합니다.

valueOf(String) - 지정된 String 값으로 초기 설정된 새로운 Integer 객체를 리턴합니다.

valueOf(String, int) - 지정된 String의 값으로 초기 설정된 새로운 Integer 객체를 리턴합니다.



17. 멀티스레드 처리하는 법

가. 멀티스레드는  하나의 프로그램 내에서 여러개의 작업이 동시에 수행되는 것

나. 자바에서 멀티스레드 구현방법

1) Thread클래스를 상속하는 법. 단 단일 상속만 가능

2) Runnable인터페이스를 상속하는 법. 다중 상속이 가능함


스레드는 프로세스 내에서 동작하는 작은 실행 단위

여러개의 스레드를 사용해서 동시에 어떤 작업을 수행하는 것이 멀티 스레드


프로세스 - 프로세스는 운영체제 내에서 동작하는 독립적인 실행 단위로써 독립적인 주소공간을 가지며 동작


스레드 - 스레드는 하나의 프로세스 내에서 동작하는 작은 실행 단위

1. 프로세스보다 작은 단위이기 때문에 프로세스보다 가볍다

2. 스레드는 서로 자원을 공유하면서 동작한다


스레드는 프로세스 위에서 메모리를 서로 공유하면서 동작, 이때 스레드는 자신만의 지역변수를 가질 수 있다


스레드 생성

1. Thread클래스를 상속

class T1 extends Thread{ 

public void run(){

System.out.println("Thread T1");

}

}


T1 t = new T1(); // 또는 Thread t = new T1();

t.start();


java.lang.Thread 클래스의 생성자

Thread() // 새로운 스레드 객체를 생성

Thread(String name) // 새로운 스레드 객체를 지정된 이름으로 생성


java.lang.Thread 클래스의 메서드

void run() // 스레드가 생성되어 실행될 때 호출되는 메서드


2. Runnable 인터페이스를 구현

class T2 iimplements Runnable{ 

public void run(){

System.out.println("Thread T2");

}

}


T2 t2 = new T2();    // Runnable 인터페이스를 구현하는 클래스의 객체를 생성한 다음

Thread th = new Thread(t2); // 그 객체를 생성자 파라미터로 삼아 Thread 객체를 생성해야함

th.start();


java.lang.Runnable 인터페이스의 생성자

Thread(Runnable target)[] // 새로운 스레드 객체 생성, target은 run()메서드를 호출할 객체

Thread(Runnable target, String name) 


java.lang.Runnable 클래스의 메서드

void run() // 스레드가 생성되어 실행될 때 호출되는 메서드




18. java.util 패키지의 컬랙선

컬렉션(Collection) - Set, List, Queue 가 있다

1) 하나 이상의 값을 저장할 수 있다

2) 가변적 크기다. 

3) 복수 자료형 타입을 동시 저장 가능하다


컬렉션 중 리스트(List) 인터페이스 - ArrayList, Vector, LinkedList 가 있다

ArrayList 클래스 (java.util패키지)

가. 하나 이상의 요소값을 저장할 수 있다

나. 복수 자료형 타입을 동시 저장 가능하다 // 복수 자료형 타입의 동시 저장을 막으려면 제네릭 사용

다. 가변적 크기

라. 중복값 저장 허용(순서를 인덱스로 관리하기 때문)

마. 순차적 저장(인덱스 순서대로 저장)



'Web Develop. > Java' 카테고리의 다른 글

Java 월말평가 정리  (0) 2014.08.28
자바 수업 내용 정리-5  (0) 2014.08.11
자바 수엽 내용 정리-4  (0) 2014.08.07
자바 수업 내용 정리-3  (0) 2014.08.05
자바 수업 내용 정리-2  (0) 2014.08.04
자바 수업 내용 정리-1  (0) 2014.07.30

이전글 : 자바 수엽 내용 정리-4


1. java.awt 패키지의 AWT

가. AWT는 자바 어플에서 GUI(Graphic User Interface)환경을 제공해준다 

즉, 그림화 된 프레임창을 만들어주고 프레임 창안에 그림화된 버튼,체크박스,리스트박스,콤보박스 등을 만들어준다


2. java.awt 패키지의 Panel클래스

가. Panel 클래스는 여러개의 컴포넌트를 그룹화시키는 컨테이너

이 클래스로 각 컴포넌트를 묶어줌으로써 그룹 단위로 쉽게 한번에 이벤트를 처리할 수 있다

나. 컨테이너(Frame,Panel 등) > 컴포넌트


3. 자바 AWT에서 이벤터 처리하는 법

가. 이벤트란 어떤 사건을 뜻함. 자바에서 java.awt.event 패키지에서 이벤트를 처리하는 리스너 인터페이스를 정의해놓고 있다

나. 버튼 클릭 이벤트를 처리하려면 java.awt.event패키지의 ActionListener 인터페이스를 implements 해야한다

이 인터페이스의 추상메서드를 오버라이딩 하면 버튼 클릭 이벤트를 처리할 수 있다


4. 외부/내부클래스

가. 내부클래스를 포함한 클래스를 외부 클래스라 한다

나. 외부클래스 내부에 선언된 클래스를 내부클래스라 한다

다. 내부클래스는 외부클래스의 변수 또는 메서드를 마치 자신의 것처럼 가져와 자유롭게 사용할 수 있다

라. 외부클래스명$내부클래스명.class 파일로 컴파일된다


5. 자바의 멀티 스레드

가. 멀티스레드는  하나의 프로그램 내에서 여러개의 작업이 동시에 수행되는 것

나. 자바에서 멀티스레드 구현방법

1) Thread클래스를 상속하는 법. 단 단일 상속만 가능

2) Runnable인터페이스를 상속하는 법. 다중 상속이 가능함


6. Try ~ Catch, 자바의 예외처리 순서
가. try구문으로 진입
나. try구문에서 정상 구문이 실행되다가 예외가 발생하면
다. 제어가 catch구문으로 이동, catch블록에서 예외를 처리
라. 예외 유무와 상관없이 finally 문은 무조건 마지막으로 실행

7. Swing과 AWT 차이
가. AWT는 운영체제가 갖고 있는 각 컴포넌트를 이용하므로 운영체제에 종속적인 GUI로써 
운영체제 종류에 따라 출력되는 화면이 다르게 보인다
또한 운영체제가 갖고 있는 공통 GUI요소만 사용하기 때문에 운영체제에 맞는 GUI프로그램 작성이 어렵다
나. Swing은 운영체제가 갖고 있는 GUI를 사용하지 않고 JVM이 직접 swing패키지를 사용해 구현한다
따라서 운영체제가 서로 달라도 동일한 화면을 출력한다
다. Swing을 사용하려면 javax.swing 패키지를 임포트 해야한다




'Web Develop. > Java' 카테고리의 다른 글

Java 월말평가 정리  (0) 2014.08.28
자바 수업 내용 정리-5  (0) 2014.08.11
자바 수엽 내용 정리-4  (0) 2014.08.07
자바 수업 내용 정리-3  (0) 2014.08.05
자바 수업 내용 정리-2  (0) 2014.08.04
자바 수업 내용 정리-1  (0) 2014.07.30

이전글: 자바 수업 내용 정리-3



1. class Calendar

java.util 패키지의 Calendar 추상클래스는 년월일시분초 값을 구할 수 있다

추상클래스이므로 new에 의해 객체 생성 불가

getInstacne() 정적 메서드를 이용, 칼렌더 객체를 구할 수 있다


2. 배열과 컬렉션의 비교

가. 배열

1) 하나 이상의 요소값을 저장할 수 있다

2) 고정된 크기다

3) 단 하나의 자료형 타입만 저장할 수 있다

나. 컬렉션

1) 하나 이상의 값을 저장할 수 있다

2) 가변적 크기다. 

3) 복수 자료형 타입을 동시 저장 가능하다


3. Set 인터페이스의 특징

가. 요소값이 순서없이 저장된다

나. 중복 요소값을 허용하지 않는다(이런 단점 때문에 잘 사용하지 않음)


4. List 컬렉션 인터페이스 / ArrayList 컬렉션 클래스 (java.util패키지)

가. 하나 이상의 요소값을 저장할 수 있다

나. 복수 자료형 타입을 동시 저장 가능하다

다. 가변적 크기

라. 중복값 저장 허용

마. 순차적 저장


5. Stack 컬렉션 클래스의 특징

가. 스택이란 한 개 이상 자료를 저장할 수 있는 기억공간

나. 스택은 요소값을 순차적으로 저장

다. 스택 구조의 특징

1) FILO(First In Last Out) 또는 LIFO(Last In First Out) 구조


6. LinkedList 컬렉션 클래스의 특징 : Queue

가. FIFO(First In First Out)구조


7. Hashtable 컬렉션 클래스(Map 인터페이스를 상속받음)

키(key)와 값(value)의 쌍으로 데이터를 저장한다


8. 제네릭(Generic)

컬렉션은 복수개의 자료형 타입을 동시에 저장하다보니 원하는 자료형을 추출하기 어렵고 자료의 안정성이 떨어진다. 지정한(원하는) 자료형 타입만 추출하기 위해 지정한 자료형 타입만 저장하도록 하기 위해 나온 것


다음글: 자바 수업 내용 정리-5



'Web Develop. > Java' 카테고리의 다른 글

Java 월말평가 정리  (0) 2014.08.28
자바 수업 내용 정리-5  (0) 2014.08.11
자바 수엽 내용 정리-4  (0) 2014.08.07
자바 수업 내용 정리-3  (0) 2014.08.05
자바 수업 내용 정리-2  (0) 2014.08.04
자바 수업 내용 정리-1  (0) 2014.07.30

이전글: 자바 수업 내용 정리-2


0. 자식클래스에서 부모클래스와 동일한 이름의 변수를 정의하면 부모클래스의 변수는 상속을 받지 않고 자식클래스의 변수를 사용한다

super는 부모클래스를 가리킨다.

super.x하면 부모클래스의 변수 x를 호출한다


1. 기본생성자(Default constructor)

전달인자가 없는 생성자를 기본생성자라 하고 기본생성자는 묵시적으로 생략된다. (자바에서 자동으로 제공)

그러나 전달인자가 있는 생성자가 정의된 경우에는 생략되는 기본생성자를 묵시적으로 제공하지 않기 때문에 기본생성자를 정의해야한다


2. 업캐스팅(Upcasting)

가. 자식클래스형을 부모클래스형으로 바꿔 올리는 것

나. 업캐스팅을 하려면 사전에 상속관계를 먼저 만들어야 함


3. 다운캐스팅(Downcasting)

가. 부모클래스형을 자식클래스형으로 내리는 것

나. 다운캐스팅 전제 조건

1) 사전에 상속관계를 만들어야한다

2) 다운캐스팅을 하려면 사전에 업캐스팅을 먼저 해야한다. 즉 업캐스팅을 한 것에 한해서만 다운캐스팅을 허용한다

3) 캐스팅 연산자를 사용하여 강제 다운캐스팅을 해야한다


더보기


4. 추상클래스(Abstract Class)

가. abstract class 예약어로 정의된다

나. new 예약어로 객체 생성 불가, 배열은 생성 가능

다. 추상메서드를 하나라도 가지는 클래스는 추상클래스이어야 한다

라. 추상메서드는 몸체 문장(구현부,body)이 없다

마. 추상클래스를 상속받은 자식클래스에서는 모든 추상메서드를 오버라이딩해야한다

바. 추상클래스는 단일 상속만 가능하다. 즉 하나의 부모로부터만 상속이 가능하다

사. 추상클래스는 추상메서드 뿐만아니라 일반변수, 메서드가 올 수 있다


5. final 예약어
가. final로 선언된 클래스는 더이상 상속을 허락하지 않는다
나. final로 선언된 변수는 더이상 수정할 수 없는 변수가 된다. 즉 상수화 된다 
다. final로 선언된 메서드는 더 이상 오버라이딩을 허락하지 않는다


6. 인터페이스(Interface)

가. interface 예약어로 정의

나. implements 예약어로 상속한다 || 클래스 상속은 extends 예약어로 한다

다. 다중 상속 가능 || 클래스는 단일상속만 가능

라. new에 의해 객체 생성을 못한다

마. 상수(수정할 수 없는 변수)와 추상메서드만 올 수 있다

바. 인터페이스에 정의된 메서드는 추상메서드다. 추상메서드이기 때문에 인터페이스를 상속받은 자식클래스에서 추상메서드를     오버라이딩 해야한다



7. 래퍼클래스(Wrapper Class)

가. 래퍼(wrapper:포장하다)클래스는 자바의 기본자료형 8개를 포장해서 클래스화 한 것을 말함

나. Wrapper클래스 종류


 기본자료형

byte 

short 

int 

long 

float 

double 

char 

boolean 

 래퍼클래스

Byte 

Short 

Integer 

Long

Float 

Double 

Character 

Boolean 



다음글: 자바 수엽 내용 정리-4


'Web Develop. > Java' 카테고리의 다른 글

Java 월말평가 정리  (0) 2014.08.28
자바 수업 내용 정리-5  (0) 2014.08.11
자바 수엽 내용 정리-4  (0) 2014.08.07
자바 수업 내용 정리-3  (0) 2014.08.05
자바 수업 내용 정리-2  (0) 2014.08.04
자바 수업 내용 정리-1  (0) 2014.07.30

이전글: 자바 수업 내용 정리-1


1. 메서드 오버로딩(Method Overloading)

가. 오버로딩은 동일 메서드 이름을 한번 이상 더 재정의해서 사용하는 것

나. 메서드 오버로딩 구분 요건

1) 전달인자(parameter) 개수를 다르게 한다

2) 전달인자 자료형을 다르게 한다

3) 전달인자 순서를 다르게 한다

- 즉, 구분요건은 다르지만 동일한 이름의 메서드를 만드는 것


2.  생성자(Constructor)

가. 클래스 이름과 같고 자료형 타입이 없다

나. new 클래스명(); 에 의해서 호출된다

다. 메서드의 일종이므로 오버로딩이 가능하다

라. 주된 기능은 변수 초기화, 객체 생성


자바 월말 평가 예상문제

클래스 구성요소 : 변수명, 생성자, 메서드


3. static

정적변수: static예약어로 정의된 변수

정적메서드: static예약어로 정의된 메서드

정적변수와 정적메서드는 new에 의한 객체생성 없이 접근 가능

덧)  클래스의 인스턴스화: 클래스로부터 객체를 만드는 과정

클래스의 인스턴스: 클래스로부터 만들어진 객체

객체 - 멤버변수, 메서드

형식> 클래스명 참조변수 = new 클래스명();

변수의 종류

클래스변수 - 클래스영역

인스턴스변수 - 클래스영역, 클래스의 인스턴스를 생성할 때

지역변수 - 메서드 등 영역


멤버변수를 제외한 나머지는 지역변수

멤버변수 중 static 붙은것은 클래스변수, 

  붙지 않은것은 인스턴스변수

클래스 {

static variable // 클래스변수, 클래스이름.클래스변수 로 사용가능

public static variable // 클래스변수 -> 전역화. 전역변수

variable // 인스턴스변수


p(){

variable // 지역변수, { } 블럭변수

}

}


4. 오버라이딩(Overriding)이란

가. 부모클래스에 있는 메서드와 동일한 메서드를 자식클래스에서 재정의해서 사용하는 것

나. 오버라이딩은 상속관계를 전제로 한다

다. 자식클래스에서 오버라이딩 된 부모클래스의 메서드는 super.부모메서드이름()로 호출

라. 오버로딩과 다른 개념

(같은 클래스 내에서 메서드를 재정의 하면 오버로딩, 상속 등에 의해 다른 클래스에서 메서드를 재정의 하면 오버라이딩?)


5. 접근지정자(Access Modifiers)

가. private: 같은 패키지의 같은 클래스 내에서만 접근 가능

나. 생략(기본 접근지정자): 같은 패키지 내에서만 접근 가능

다. protected: 같은 패키지의 다른 클래스+ 상속받은 자식클래스에서 접근 가능

라. public: 같은 패키지 뿐만 아니라 다른 패키지에서도 접근 가능



다음글: 자바 수업 내용 정리-3



'Web Develop. > Java' 카테고리의 다른 글

Java 월말평가 정리  (0) 2014.08.28
자바 수업 내용 정리-5  (0) 2014.08.11
자바 수엽 내용 정리-4  (0) 2014.08.07
자바 수업 내용 정리-3  (0) 2014.08.05
자바 수업 내용 정리-2  (0) 2014.08.04
자바 수업 내용 정리-1  (0) 2014.07.30

+ Recent posts