nme.kr
Nav
Search
Edit
검색
가사
도서관
문학
사전
어학
역사
영화
클래식
프로그램
회화
html
keyboard
links
wiki
sidebar
전체 접힌 글 펴기 / 접기
문서 도구
문서 보기
이전 판
역링크
Fold/unfold all
문서 이름 바꾸기
사이트 도구
최근 바뀜
미디어 관리자
사이트맵
사용자 도구
관리
로그인
왼쪽 메뉴 편집
Plugin 관리
테마 디자인
카카오톡 링크 보내기
맨 위로
추적:
현재 위치:
index
»
프로그램
»
java
»
ㄴhomework
»
quiz
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
======= 퀴즈 정리 ======= ===== [Quiz] 1차 중간평가 ===== ==== 자바실행환경(Compile Time, Run Time) ==== *자연어를 기계어로 번역하는 방식은 두 가지가 있다. - 컴파일(Compile)은 파일 전체를 읽어들여 실행 속도는 빠르나 파일 작성이 어렵고 자원이 낭비된다는 단점이 있다. - 인터프리터(Interpreter) 언어는 실행에 필요한 부분만 읽어들이기에 입력이 쉬우나 실행 속도는 느리다는 단점이 있다. *자바의 실행환경인 JRE는 위 두 가지 번역 방법을 모두 사용하여 효율적인 실행환경을 제공하고 있으며 이러한 방식을 JIT(Just In Time)이라고 한다. *JIT의 작동방식을 간략하게 설명하자면, 자바 파일(자바 프로그램 코드)을 바이트코드로 변환한 후, 이를 실행하는 시점에서 기계어로 번역하는 방식이다. 세부적인 작동방법은 아래와 같다. - 먼저 자연어로 작성된 자바파일을 바이트 코드로 변환한다. 바이트코드는 자연어와 기계어의 중간단계 언어로, 가상머신에 의해 빠르게 번역될 수 있는 코드이다. - 이렇게 바이트코드로 컴파일된 파일은 Run Time으로 넘어간다. 이때 이 파일의 내용이 하드디스크나 웹 등 외부환경에서 컴퓨터 메모리 영역으로 넘어간다. - Run Time 환경으로 넘어가면, 프로그램을 실행시키면서 이때부터 바이트코드->기계어로의 번역을 인터프리티 방식으로 진행한다. ==== 객체라이프사이클 (클래스 정의) ==== *클래스는 크게 두 가지로 구분된다. 1. 실행클래스는 클래스를 실행 가능하며, 그렇기 때문에 최소 진입점이 되고, 따라서 전체 어플리케이션에서 1개만 존재한다. 실행을 위한 메소드를 가지고 있으며, 해당 메소드는 통상 main()메소드라고 부르고 아래와 같이 작성된다. <code java> public static void main(String[] args){ } </code> 2. 헬퍼클래스는 실행이 불가능한, 호출대상이 되는 클래스로 전체 어플리케이션에서 실행클래스를 뺀 나머지가 모두 헬퍼클래스이다. 실행을 하는 클래스가 아니기 때문에 main()메소드가 없다. *클래스는 멤버필드와 멤버메소드를 가지고 있으며 다음과 같은 형태로 정의된다. 예) ''Student''라는 이름의 클래스가 멤버필드 ''String name''과 멤버메소드 ''getter, setter''를 가질 때 <code java> class Student { //class 클래스 이름의 형태로 내부 구성요소를 가짐 String name; // 멤버필드 void setName(String name) { // 멤버메소드 setter this.name = name; } String getName(){ //getter return name; } } </code> 좌측의 class인 Student는, 멤버필드로 String name을 가지고 멤버메소드로 getter, setter를 갖는 헬프클래스라고 할 수 있다. * 객체의 라이프 사이클은 위의 정의된 클래스의 객체를 이용하기 위해 생성 -> 소멸까지의 과정이다. <WRAP box> - 클래스 정의 - 객체참조변수 선언 ''Student st;'' - 객체 생성 ''new Student'' - 생성자 호출 ''new Student();'' - 주소 할당 ''st = '' - 객체 사용 ''st.setName("홍길동")'' - 객체 소멸 ''st = null;'' </WRAP> ==== 멤버필드 (타입, 크기) ==== * 멤버 필드는 클래스를 구성하는 변수이다. 클래스를 구성한다는 것의 의미는 클래스 내부 메소드의 변수처럼 클래스의 하위 영역에 소속되어 있다는 것이 아닌, 클래스 자체를 구성함을 의미한다. 예를 들어, 아래 클래스를 보자. <code java> class Main { public static void main(String[] args) { int num; } } </code> >**여기서 int num은 멤버 필드가 아니다.** <code java> class Help { int help; } </code> >**여기서 int help는 멤버 필드이다.** * 멤버 필드의 타입은 크게 2가지로 구분된다. - 원시타입은 실제 '값'을 갖는 타입으로 정수, 실수, 불린, 문자의 4가지 종류가기 있다. 각 종류의 형태와 데이터 크기는 다음과 같다. ^ 분류 ^ 종류(byte) ^ ^ 정수 | byte(1), short(2), int(4), long(8) | ^ 실수 | float(4), double(8) | ^ 논리 | boolean(1) | ^ 문자| char(2) | 2. 클래스 타입은 '주소'를 값으로 갖는 타입을 말하며 크기는 특정되지 않는다. >String name = "홍길동"; >Student st = new Student(); ==== 멤버메소드 (구조) ==== ==== 형변환 (타입, 크기) ==== ===== [Quiz] 2차 중간평가 ===== ==== Variable Scope ==== ==== 조건문 ==== ==== 반복문 ==== ==== 배열 ==== ==== 다차원배열 ==== ===== [Quiz] 3차 중간평가 ===== ==== 변수의 명명규칙 ==== ==== 형식화된 출력, printf() ==== ==== 커맨드 라인 입력 ===== ==== 패키지 vs import ==== ==== 클래스 유형 ==== ===== [Quiz] 4차 중간평가 ===== ==== Constructor ==== ==== Overloading ==== ==== Overriding ==== ==== Modifier ==== ==== this, this() ==== ===== [Quiz] 5차 중간평가 ===== ==== super, super() ==== ==== static ==== ==== final 클래스, final 메소드, final 상수 ==== ==== Call by Value ==== ==== Call by Reference ==== ===== [Quiz] 6차 중간평가 ===== ==== 품질 1단계 ==== ==== 품질 2단계 ==== ==== 품질 3단계 ==== ==== 품질 4단계 ==== ==== 품질 5단계 ==== ===== [Quiz] 7차 중간평가 ===== ==== 캡슐화 + 데이터무결성 ==== ==== 상속(Is-a) ==== ==== 다형성 ==== ==== 싱글톤 ==== ==== 초기화 블록 (생성자, static 블록, 인스턴스 블록) ==== ===== [Quiz] 8차 중간평가 ===== ==== Association ==== ==== Dependency ==== ==== Composition ==== ==== Aggregation ==== ==== Design Goals 8가지 ==== ===== [Quiz] 9차 중간평가 ===== ==== Object-Oriented Design Concepts 7가지 ==== ==== Object-Oriented Design Principles 3가지 ==== ==== 품질6단계 ==== ==== 품질7단계 ==== ==== 예외정의, 예외발생, 예외처리 ==== ===== [Quiz] 10차 중간평가 ===== ==== User-Defined 예외클래스 정의 ==== ==== try{} catch(){} finally {} ==== ==== throw, throws ==== ==== ArrayIndexOutOfBoundsException ==== ==== User-Defined 예외클래스 적용한 덧셈기 (0을 더하는 경우 예외발생) ==== ===== [Quiz] 11차 중간평가 ===== ==== Properties ==== ==== Iterator === ==== 람다식 ==== ==== 스레드 생성 ==== ==== 스레드 우선순위 ==== ===== [Quiz] 12차 중간평가 ===== ==== 스레드 데이터 공유 ==== ==== 품질 10단계 ==== ==== Banking Project 품질1단계 ==== ==== Banking Project 품질2단계 ==== ==== Banking Project 품질3단계 ==== ===== [Quiz] 13차 중간평가 ===== ==== Banking Project 예외처리 (품질8단계, 품질9단계) ==== ==== Banking Project 품질10단계 ==== ==== 컬렉션 ==== ==== 제네릭 ==== ==== 스트림 ==== ===== [Quiz] 14차 중간평가 ===== ==== 바이트 기반 입력 스트림 ==== ==== 문자 기반 입력 스트림 ==== ==== 계산기 프로젝트 (Properties + 파일I/O) ==== ==== TCP 소켓 프로그래밍 ==== ==== UDP 소켓 프로그래밍 ====