목록Backend/Java (34)
도도한 개발자
* 각종 정보를 확인하기 위한 System 클래스 System 클래스의 가장 큰 특징은 생성자가 없다는 것이다. System 클래스의 3개의 static 변수가 선언되어 있는데 타입과 변수 명은 다음과 같다. 선언 및 리턴 타입 변수명 설명 static PrintStream err 에러 및 오류를 출력할 때 사용한다. static InputStream in 입력값을 처리할 때 사용한다. static PrintStream out 출력값을 처리할 때 사용한다. System은 클래스 이름이다. 그 다음의 out은 위의 staitic으로 선언된 변수 이름이다. 위의 표를 보면 알 수 있듯 out은 PrintStream 타입이다. 그러므로 println() 메소드는 PrintStream 클래스에 선언되어 있으며,..
* 특별한 java.lang 자바의 패키지 중 유일하게 java.lang 패키지에 있는 클래스들은 import를 안해도 사용할 수 있다. java.lang과 java.util 패키지를 제외한 대부분의 java로 시작하는 패키지들은 패키지 이름만 보고도 어떤 일을 할 때 사용하는지를 알 수 있다. java.lang 패키지에서 제공하는 인터페이스, 클래스, 예외 클래스 등은 다음과 같이 분류할 수 있다. º 언어 관련 기본 º 문자열 관련 º 기본 자료형 및 숫자 관련 º 쓰레드 관련 º 예외 관련 º 런타임 관련 각 분류에는 어떤 인터페이스, 클래스, 예외 및 에러가 있는지 알아보자. 구분 타입 항목들 언어 관련 기본 인터페이스 Cloneable, Comparable, Iterable, Readable 클..
* 자바의 역사 자바의 역사는 1991년으로 거슬러 올라간다. 제임스 고슬링(James Gosling), Mike Sheridan, Patrick Naughton 이렇게 3명의 젊은이가 TV와 시정자가 서로 상호 작용 할 수 있는 것을 만들기 위해 시작되었다. 1992년 고슬링의 사무실 앞 참나무를 보고 이름 지은 "Oak"라는 언어다. 이후에 1995년 "Oak"라는 언어의 이름이 커피의 한 종류를 뜻하는 "자바 커피"의 이름을 본따 "Java"라고 바뀌면서 자바 기술이 시작하게 되었다. 자바 언어를 만들여 "Write Once, Run Anuwhere"라는 모토가 만들어졌으며, 여러 플랫폼에서 수행할 수 있는 개발 언어를 목표로 개발되었다. 자바의 표준 버전의 이름 JDK, J2SE, Java SE로..
* 중간 점검 1. 참조 자료형과 기본자료형의 차이를 정리해 주세요 초기화할 때 기본 자료형은 값을 바로 지정하지만 참조 자료형은 일반적으로 new와 생성자를 지정하여 객체를 생성한다. 그리고 메소드를 호출할 때 매개변수에 기본 자료형, 참조 자료형 모두 값을 전달하지만 참조 자료형 안에 있는 변수들은 참조 주소를 전달한다. 2. 기본 자료형 8가지를 나열하고 각 타입의 특징을 정리해 주세요. byte short int long char는 정수형, double float는 실수형, boolean은 값에 따라 True, False로 나뉘는 기타로 분류된다. 3. 형 변환이란 무엇이고 왜 해야 하나요? 형 변환이란 자료형을 다른 타입으로 변환하는 작업이다. 형 변환을 하지 않으면 값이 바뀔 수 있기 때문에 ..
* 조건문 ** if if(boolean값) 처리문장; ** if-else if(boolean값) 처리문장1; else 처리문장2; 처리문장이 두 줄 이상일 때는 if(boolean값) { 처리문장1; } else { 처리문장2; } 이렇게 중괄호로 묶어준다. ** if-else if if(boolean값) 처리문장1; else if(boolean값) 처리문장2; else if(boolean값) 처리문장3; ... else 처리문장n; 여기서도 위와 같이 처리문장이 한 줄 이상이면 중괄호로 묶어준다. ** switch - case switch(비교대상변수) { case 점검값1: 처리문장1; ... break; case 점검값2 처리문장2 ... break; default: 기본 처리 문장; ... br..
* 객체지향 개발과 관련된 용어 · 클래스(Class) · 상태(state)와 행위(behavior) · 캡슐화(Encapsulation) · 메시지(Message) · 객체(Object) · 상속(Inheritance) · Overriding 다형성(Polymorphism) · Overloading ** 클래스(Class) "상태"와 "행위"를 갖는 자바의 기본 단위를 의미한다. ** 상태(state)와 행위(behavior) "상태"는 클래스나 인스턴스 변수로, "행위"는 메소드로 표현할 수 있다. ** 캡슐화(Encapsulation) 관련된 "상태"와 "행위"를 결정하는 기능을 묶어 주는 것을 의미한다. 이렇게 묶어 주면 기능을 클래스 밖에서 접근 가능한 대상을 제한하는 정보 은닉(informat..
* Annotation 이란? 어노테이션은 클래스나 메소드 등의 선언시에 @를 사용하는 것을 말한다. 어노테이션은 · 컴파일러에게 정보를 알려주거나 · 컴파일할 때와 설치(deployment)시의 작업을 지정하거나 · 실행할 때 별도의 처리가 필요할 때 사용한다. 이와 같이 다양한 용도로 사용할 수 있는 어노테이션은 클래스, 메소드 변수 등 모든 요소에 선언할 수 있다. * 미리 정해져 있는 3개의 어노테이션 자바 언어에는 어노테이션을 선언하기 위한 4개의 메타 어노테이션과, 일반적으로 사용 가능한 어노테이션이 3개가 있다. · @Override · @Deprecated · @SuppressWarnings 위 3개의 어노테이션에 관해 살펴보자. ** @Override 해당 메소드가 부모 클래스에 있는 메..
자바에서는 클래스 안에 클래스가 들어갈 수 있다. 이러한 클래스를 "Nested 클래스"라고 부른다. 코드를 간단하게 표현하기 위해 존재하는 이 Nested 클래스는 외부의 이벤트에 대한 처리를 하는 곳에서 가장 많이 사용된다. Nested 클래스는 선언한 방법에 따라 "Static nested 클래스"와 "내부 클래스"로 구분된다. 두 차이는 static으로 선언되었는지 여부다. 내부 클래스는 다시 두 가지로 나뉘는데, 이름이 있는 내부 클래스는 "로컬 내부 클래스"라고 하고, 이름이 없는 클래스를 "익면 내부 클래스"라고 부른다. 그림으로 보자. 그럼 왜 Nested 클래스를 만들까? · 한 곳에서만 사용되는 클래스를 논리적으로 묶어서 처리할 필요가 있을 때 · 캡슐화가 필요할 때. 즉 내부 구현을 ..