본문으로 바로가기

JAVA 공부 문제

category Back-end/Java 2016. 2. 1. 20:19

1. getter setter를 쓰는 이유

멤버변수를 보호하기 위해서


2. static 변수의 특징

한 클래스의 모든 인스턴스가 공유하는 변수로서 다른 변수는 { } 안에서만 메모리가 존재하는 데 반해

static변수는 독립적인 메모리공간 안에서 계속 존재한다. 인스턴스화를 하지 않아도 기능 쓸 수 있다.


3. 오버로딩이란?

이름이 똑같더라도 파라미터의 종류나 개수가 다르면 다른 메소드로 인식

한 클래스에 동일한 이름과 반환타입을 가진 메소드


4. class란?

클래스는 필드(멤버변수)와 기능(메소드)으로 구성된다.

객체의 속성(멤버변수)과 기능(메소드)을 정의해 놓은 것이다.

프로그램의 설계도

정보은닉 기능이 있다.

객체는 구체적인것


5. 멤버변수란?

클래스 바로 아래(필드)에 선언된 변수


6. VO란?

value object로 값 전달을 목적으로 만든 클래스

Domain 클래스 라고도 불렀음

캡슐화 해서 쓸수 있다.


7. Exception 과 RuntimeException ?

처리를 할 것인가 말것인가의 차이

RuntimeException은 처리를 할 필요가 없음


8. camel표기법이란?

여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.


9. 기본형 변수는?

문자 char

숫자 (정수) byte, short, int, long

숫자 (실수) float, double

논리 boolean


10. 예외를 만들때는 extends를 붙인다.

예외를 만드는 방법


11. NullPointerException

인스턴스화 되지 않은(주소값이 없는) 포인트를 가리키려 할때.


12. 분기문 (if)의 결과는 항상 논리형으로 받는다.


13. 묵시적 캐스팅과 명시적 캐스팅

묵시적 캐스팅은 크기(Byte)가 작은 Type에서 큰 Type으로 변환할 때

명시적 캐스팅은 크기(Byte)가 큰 Type에서 작은 Type으로 변환할 때


14. 참조형 변수는 메모리의 주소를 가지고 있다. 초기화 되지 않은 참조형 변수는 null을 가진다.


15. 변수란?

program이 특정한 처리를 하기 위해 필요한 값.

cpu가 계산을 하기위해 ram에 일시적으로 저장하는 공간


16. 연산자 종류 4가지

사칙연산, 할당연산, 비교연산, 논리연산


17. 사칙연산 종류

+ - * /


18. 대입연산 종류

=

19. 비교연산 종류

(== != >= instanceof)


20. 논리 연산자 종류

&& ||


21. 생성자란?

인스턴스 생성시 딱 한번만 호출되는 메소드.

인스턴스의 초기화를 목적으로 정의되는 메소드.

클래스명과 동일한 메소드를 기본으로 제공함.

인스턴스의 초기화와 멤버변수의 초기화를 동시에 할 수 있다.


22. 패키지란?

동일한 성격 혹은 동일한 목적을 가진 클래스 파일들의 집합이 되는 장소.


23. 예외의 종류와 그 예외를 설명하시오

InputMismatchException : Scanner 사용때 발생

ArithmeticException : 0으로 나눌때 발생

NullPointerException : 인스턴스화 되어있지 않은(주소가 없는) 객체를 호출할 때

try catch 하면 안됨 망한소스로 가는길.. ( str!=null && ) null이 아닐때.. 처럼 논리연산 and를 써야함

ArrayIndexOutOfBoundException : 인덱스가 배열의 크기를 벗어났을때 발생

try catch로 처리말고 아예 발생 안되도록 짜야함

NumberFormatException : 문자를 숫자로 바꿀때 발생

FileNotFoundException

ClassNotFoundException


24. 사용자 정의 예외를 만드시오

public class InvalidAgeException extends Exception {

public InvalidAgeException() {

super();

}

public InvalidAgeException( String message ) {

super( message );

}

public InvalidAgeException( Throwable t ) {

super( t );

}

public InvalidAgeException( String message, Throwable t ) {

super( message, t );

}

}


25. Runtime과 Exception의 차이?

Exception은 try catch를 강제로 써야한다.

Runtime은 처리를 할 필요가 없다.

Throwable은 최상위 예외이다.


26. 컬렉션

데이터의 저장, 그리고 이와 관련있는 알고리즘을 구조화 해 놓은 프레임 워크.

많은 양의 인스턴스를 다양한 형태로 저장할 수 있는 클래스.


27. 파라미터로 인스턴스가 들어오면 메모리 주소가 들어온다.


28. 캡슐화 위배 기법

전적으로 한 인스턴스 vo에게만 책임을 주지 말고

setter getter에서 새 인스턴스를 만들어 다시 값을 넣어준다.

중간에 데이터가 바뀌었을때 어디서 바뀌었는지 찾기 위해서.


29. 인스턴스 특징?

1. 실제 메모리를 가진다.

클래스는 틀 인스턴스는 실체

2. 실제 속성과 실제 기능을 다르게 가지는것

3. 주소에 따라서 메로리 속성과 기능이 달라진다.


30. 객체지향 이란?

정보은닉, 클래스안에 어떤일이 벌어지는지 어떤값이 있는지 몰라야한다. private, getter, setter 일종의 필터링

추상화, 구현체가 없는 어떤 표준을 정의한다. 구체화 되어있지 않은 인터페이스와 추상클래스가 어떤일을 할것인지 정하는 것

상속, 클래스를 확장시키는 것

캡슐화, 기능을 위임하는 것. 하나의 객체가 다른객체를 포함함으로써..

다형성, 하나의 인터페이스를 가지고 여러개의 구현체를 가질 수 있다.

상속이 다형성을 대신하기도 함


상속 (다른 class가 갖고있는 특성을 상속 받음으로써 재정의 할 필요없다. )

정보은닉 (하나의 객체가 가진 정보들은 다른객체가 알아서는 안된다. private, getter, setter 일종의 필터링)

추상화 (어떤 표준을 정의한다.)

캡슐화 : 하나의 객체가 다른 객체를 포함함으로써 한번에 많은 기능들을 할 수 있는것이다.

다형성 : 하나의 추상적인 존재가 다양한 형태로 보여진다.


> 현실세계를 컴퓨터로 구현하기 위한 방법 중 하나


31. my batis와 ORM은 같은것


32. 토드는 오라클을 쓰기위한 툴. 오라클은 DBMS


33. DBMS : 데이터베이스 매니지먼트 시스템


34. 오라클 9I, 10G 버전을 실무에서씀.

우리는 11G에 있는 XE버전을 씀.-> 교육목적 무료 DBMS


35. STS는 개발을 도와주는 툴

JSP는 웹스크립트 언어 HTML에 JAVA로직을 씌울수 있는 언어

SERVLET은 HTML을 JAVA로 분리시키려고 만든 것.

CSS : 언어, 3D도 지원함

HTML5 : 그런 CSS를 지원할 수 있는 기능이 추가됨. 그전에는 문서 이제는 어플리케이션을 만들수 있는 상태까지 옴


36. 팀프로젝트를 진행할때 삐져나오는 팀원이 있으면 어떻게 할것이냐

화합시키며 대안을 제시한다. 내가 좀 도우며 도맡아하겠다


37. Extends와 Implements

class A extends B 라고 하면

A는 B라는 클래스를 상속 받아서 +a 시키겠다는 뜻이구요

extends하고는 하나밖에 못쓴다

class A implements C 라고 하면
A는 C라는 인터페이스를 구체적으로 구현하겠다~ 라는 뜻입니다.

emplements하고는 여러개를 쓸 수 있다.

한마디로, 클래스를 상속받느냐... 아님 인터페이스를 구현하느냐의 차이네요

인터페이스는 어떤 클래스에 대한 규약 이다.(약속)


38. UI / UX

UI : Interface 구조를 어떻게 잡을 것인가

UX : 어떻게 익숙하게 만들것인가


39. 결합

강한 결합, 약한 결합

높은 의존도, 낮은 의존도


40. Spring DI

외부에서 클래스를 주입시키는 방법 -> 약한결합 만듬

IoC = 개념, 이론

코드로 부터 객체 생성에 대한 제어권을 주겠다.

Spring DI = 기술

 bean으로 제어권을 줌. xml로 분리된 파일에게





'Back-end > Java' 카테고리의 다른 글

[JAVA] 파일 경로 가져오기  (0) 2016.03.17
[JAVA]객체지향 & 페이징  (0) 2016.03.09
JAVA 문자열 나누기2 trim replace split  (0) 2016.01.29
JAVA 문자열 나누기1 Substring  (0) 2016.01.29
JAVA RuntimeException  (0) 2016.01.26