목록전체 글 (97)
도도한 개발자
* 자바의 역사 자바의 역사는 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 클래스를 만들까? · 한 곳에서만 사용되는 클래스를 논리적으로 묶어서 처리할 필요가 있을 때 · 캡슐화가 필요할 때. 즉 내부 구현을 ..
* String 값을 바꾸는 메소드 String API 설명의 마지막으로, String 값을 바꾸는 메소드를 살펴보자. 문자열의 값을 바꾸고 변환하는 메소드도 다음과 같이 구분할 수 있다. · 문자열을 합치는 메소드와 공백을 없애는 메소드 · 내용을 교체(replace)하는 메소드 · 특정 형식에 맞춰 값을 치환하는 메소드 · 대소문자를 바꾸는 메소드 · 기본 자료형을 문자열로 변환하는 메소드 ** 문자열을 합치는 메소드와 공백을 없애는 메소드 리턴 타입 메소드 이름 및 매개 변수 설명 String concat(String str) 매개 변수로 받은 str을 기존 문자열의 우측에 붙인 새로운 문자열 객체를 생성하여 리턴한다. String trim() 문자열의 맨 앞과 맨 뒤에 있는 공백들을 제거한 문자열..
* String내에서 위치 찾기 리턴 타입 메소드 이름 및 매개 변수 int indexOf(int ch) indexOf(int ch, int fromIndex) indexOf(String str) indexOf(String str, int fromIndex) lastIndexOf(int ch) lastIndexOf(int ch, int fromIndex) lastIndexOf(String str) lastIndexOf(String str, int fromIndex) indexOf() 메소드는 String 클래스의 가장 많이 사용되는 메소드 중 하나다. · indexOf() 는 앞에서부터(가장 왼쪽부터) 문자열이나 char를 찾으며, · lastIndexOf()는 뒤에서부터(가장 오른쪽부터) 찾는다. * ..