https://product.kyobobook.co.kr/detail/S000001624690
자바의 신 - 정리해 봅시다의 각 챕터별 정답
1. 클래스가 뭔가요?
2. 메소드가 뭔가요?
3. 메소드의 매개 변수는 어디에 적어주나요?
public boolean checkPassword(String password) {
}
4. 메소드 이름 앞에 꼭 적어 줘야 하는 건 뭐죠?
접근 제어자 리턴 타입 메소드 이름(매개 변수) {
}
5. 클래스가 갖고 있어야 한다고 한 두 가지가 뭐죠?
6. 메소드에서 결과를 돌려주려면 어떤 예약어를 사용해야 하나요?
1. main() 메소드의 메소드 이름 앞에는 어떤 예약어들이 들어 가나요?
public static void
2. main() 메소드의 매개 변수에는 어떤 값이 들어가나요?
String [] args
3. 만약 여러분들이 만든 클래스에 main() 메소드가 없다면, java 명령어로 그 클래스를 수행할 수 있나요?
4. System.out.println() 메소드는 어떤 용도로 사용되나요?
5. System.out.print() 메소드는 System.out.println() 메소드와 어떤 차이가 있나요?
6. //는 무엇을 하는 데 사용하는 기호인가요?
7. /로 시작하고, /로 끝나는 사이에 있는 소스들은 어떻게 되나요?
8. 메소드를 선언할 때 반드시 꼭 있어야 하는 세 가지는 무엇인가요?
1. 클래스와 객체의 차이점을 말해 주세요.
2. 객체를 생성하기 위해서 꼭 사용해야 하는 예약어는 뭐라고 했죠?
3. 객체를 생성하기 위해서 사용하는 메소드 같이 생긴 클래스 이름에 소괄호가 있는 것을 뭐라고 하나요?
public class Car {
public Car() { // 생성자
}
}
4. 객체의 메소드를 사용하려면 어떤 기호를 객체 이름과 메소드 이름 사이에 넣어줘야 하나요?
5. 여러분들이 메소드를 사용하기 위해서는 어떤 것을 만들어야 하나요?
6. 5번 문제에서 만들어야 하는 것은 어떤 예약어를 사용하고, 클래스의 무엇을 사용해야 하나요?
1. 네 가지 종류의 변수는 어떻게 구분할 수 있나요?
1) 지역 변수 : 중괄호 안에서 선언되는 변수
2) 매개 변수 : 메소드에 넘겨주는 변수
3) 인스턴스 변수 : 메소드 밖에, 클래스 안에 선언된 변수
4) 클래스 변수 : 인스턴스 변수 중 static 예약어를 사용한 변수
2. 변수의 이름을 지을 때 대문자로 시작해도 되나요?
3. 자료형에는 기본 자료형과 어떤 자료형이 있나요?
4. 기본 자료형에는 몇 가지가 있나요?
byte, short, int, long, char, float, double, boolean
5. 기본 자료형 중 정수형에는 어떤 것들이 있나요?
byte, short, int, long, char
6. byte는 몇 비트(bit)로 되어 있나요?
7. byte는 왜 만들었을까요?
8. int와 long 중 어떤 타입이 더 큰 숫자를 처리할 수 있나요?
9. 소수점을 처리하는 타입은 어떤 것이 있나요?
10. char은 정수형인가요?
11. a라는 것을 char로 정의할 때 어떤 기호로 감싸주어야 하나요?
12. true와 false 두 개의 값만을 가지는 타입은 어떤 것인가요?
1. 값을 할당할 때 사용하는 연산자의 기호는 무엇인가요?
2. 기본적인 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지를 계산할 때 사용하는 연산자의 기호는 무엇인가요?
3. +=는 무엇을 할 때 사용하는 연산자인가요?
int a+=1; // int a=a+1;
4. 여러분들이 연산의 순서를 모르거나 확실히 하고 싶을 때에는 어떤 기호를 사용해야 하나요?
5. ==와 !=의 차이는 무엇인가요?
6. <와 <=의 차이는 무엇인가요?
7. ! 연산자는 어떤 타입에 사용할 수 있나요?
8. ? :로 표시하는 삼항 연산자의 ?와 : 뒤에 명시해 주는 값은 무엇을 의미하나요?
변수 = (boolean조건식) ? true일 때 값 : false일 때 값;
9. 자바는 형 변환을 한다고 했는데, short의 값을 long에 할당할 때에는 어떤 것을 해 주어야 하나요?
10. 반대로 long 값을 short에 할당할 때에는 어떤 것을 해 주어야 하나요?
11. 9와 10의 경우 중 어떤 경우가 기존 값이 사라지고, 엉뚱한 값으로 바뀔 수 있나요?
1. if 문장의 소괄호 안에는 어떤 형태의 결과가 제공되어야 하나요?
2. if 조건에 맞지 않는 모든 경우를 처리할 때 사용하는 예약어는 뭔가요?
3. switch를 사용할 수 있는 기본 자료형의 타입에는 어떤 것들이 있나요?
4. switch 블록 안에서 비교 대상값 앞에 사용하는 예약어는 무엇인가요?
5. switch 조건을 빠져나가도록 하는 예약어는 무엇인가요?
6. switch 조건들에 맞지 않을 때, 기본 처리를 하기 위한 예약어는 무엇인가요?
7. while문의 소괄호 안에는 어떤 형태의 결과가 제공되어야 하나요?
8. while문을 무조건 한 번은 실행하게 하려면 어떻게 해야 하나요?
9. while문을 마음대로 빠져나가게 하려면 어떤 예약어를 사용하면 되나요?
10. while문의 중간에 while문의 소괄호 점검 구문으로 건너뛰도록 할 때 사용하는 예약어는 무엇인가요?
11. for 루프의 소괄호 안의 가장 첫 구문(첫 세미 콜론 앞의 문장)은 for 루프가 수행되는 동안 몇 번 수행되나요?
for(int i=1; ~ )
12. for 루프의 소괄호 안의 중간에 있는 구문은 어떤 타입의 결과가 제공되어야 하나요?
13. for 루프의 소괄호 안의 마지막에 있는 구문에서는 어떤 작업을 수행하나요?
1. 배열을 선언할 때 어떤 키워드를 타입 앞이나 뒤에 사용해야 하나요?
int [] lottoNumbers;
2. 배열의 첫 번째 위치는 0인가요? 1인가요?
3. 배열을 선언할 때 boolean 배열의 크기만 지정했다면 boolean 배열의 [0] 위치에 있는 값은 무엇인가요?
4. ArrayIndexOutOfBoundsException이라는 것은 언제 발생하나요?
5. 중괄호를 이용하여 배열을 초기화할 때 중괄호 끝에 반드시 어떤 것을 입력해 주어야 하나요?
6. 2차원 배열을 정의할 때에는 대괄호를 몇 개 지정해야 하나요?
int [][] twoDim={{1,2,3},{4,5,6}};
7. 배열을 쉽게 처리해주는 for문의 문법은 어떻게 되나요?
for(타입이름 임시변수명 : 반복대상객체) {
}
8. 자바 프로그램에 데이터를 전달해 주려면 클래스 이름 뒤에 어떻게 구분하여 나열하면 되나요?
java ArrayMain a b c d e
9. 자바 프로그램이 시작할 때 전달 받는 내용은 어떤 타입의 배열인가요?
String []
1. 생성자는 반드시 만들어야 하나요?
2. 만약 매개 변수가 있는 생성자를 만들고, 매개 변수가 없는 기본 생성자를 호출하면 어떻게 될까요?
3. 생성자의 개수는 제한이 있나요?
4. 인스턴스의 변수와 매개 변수나 메소드 내에서 생성한 변수와 구분하기 위해서 사용하는 키워드는 무엇인가요?
public class MemberDTO {
public String name;
public MemberDTO(String name) {
this.name = name; // 앞에 있는 name : 인스턴스 변수, 뒤에 있는 name : 매개 변수
5. 메소드 선언 시 리턴 타입으로 지정한 데이터를 넘겨줄 때 필요한 키워드는 무엇인가요?
6. 메소드 선언 시 아무 데이터도 리턴 타입으로 넘겨주지 않겠다는 것을 지정하는 키워드는 무엇인가요?
7. 메소드 선언에 static이 있는 것과 없는 것의 차이는 무엇인가요?
8. 필자가 엄청나게 중요하다고 한 것 중 메소드의 이름은 같으나 매개 변수를 다르게 하는 것의 명칭은 무엇인가요?
오버라이딩 : 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것
9. 기본 자료형을 매개 변수로 넘겨 줄 때 Pass by Value인가요? 아니면 Pass by reference인가요?
10. 참조 자료형을 매개 변수로 넘겨 줄 때 Pass by value인가요? Pass by reference인가요?
11. 매개 변수의 수가 가변적일 때 메소드 선언 시 타입과 변수 이름 사이에 어떤 것을 적어줘야 하나요?
public void arbitrary(String message, int ... numbers) {
}
1. 패키지를 선언할 때 사용하는 예약어는 무엇인가요?
2. 패키지 선언은 클래스 소스 중 어디에 위치해야 하나요?
3. 패키지를 선언할 때 가장 상위 패키지의 이름으로 절대 사용하면 안 되는 단어는 무엇인가요?
4. 패키지 이름에 예약어가 포함되어도 되나요?
5. import는 클래스 내에 선언해도 되나요?
6. 같은 패키지에 있는 클래스를 사용할 때 import를 해야 하나요?
7. 특정 패키지에 있는 클래스들을 모두 import할 때 사용하는 기호는 무엇인가요?
8. 클래스에 선언되어 있는 static한 메소드나 변수를 import하려면 어떻게 선언해야 하나요?
ex. c.javapackage.sub(패키지)에 있는 Substatic(클래스)의 subStaticMethod(메소드)를 import 하기
import static c.javapackage.sub.Substatic.subStaticMethod;
9. 접근 제어자 중 가장 접근 권한이 넓은 (어떤 클래스에서도 접근할 수 있는) 것은 무엇인가요?
10. 접근 제어자 중 가장 접근 권한이 좁은 (다른 클래스에서는 접근할 수 없는) 것은 무엇인가요?
11. 접근 제어자 중 같은 패키지와 상속관계에 있는 클래스만 접근할 수 있도록 제한하는 것은 무엇인가요?
접근 제어자
1) public : 누구나 접근 가능
2) protected : 같은 패키지에 있거나 상속받은 클래스의 경우에만 접근 가능
3) package-private(default) : 같은 패키지 내에 있을 때만 접근 가능
4) private : 해당 클래스 내에서만 접근 가능
12. "Calculate.java라는 자바 소스가 있을 경우, 그 소스 내에는 Calculate라는 클래스 외에는 ()으로 선언된 클래스가 있으면 안 된다." 여기서 괄호 안에 들어가야 하는 것은 무엇인가요?
자바 공부를 위해 자바의 신이라는 기본서를 정독하기 시작했다.
1권의 내용 대부분이 학부 때 배운 내용이라, 빠르게 읽을 수 있을 줄 알았지만 예상외로 시간이 좀 걸려 당황스러웠다.
하지만 오래 걸리더라도 꼼꼼히 내용을 읽어보고 싶었기에, 이 속도로 계속해서 읽어나갈 것 같다.
처음 마음가짐 잊지말고 계속 잘 읽어나가자. 😊
자바의 신 코드는 깃허브에 업로드 예정이다.
자바의 신으로 자바공부 중인데, 올리신 글 덕분에 많이 도움받고 있습니다. 감사합니다. 홧팅입니다:)!