반응형
1장. 프로그래밍이란 무엇인가?
직접해봅시다.
public class Calculator {
public int subtract(int num1, int num2) {
return num1 - num2;
}
public int multiply(int num1, int num2) {
return num1 * num2;
}
public int divide(int num1, int num2) {
return num1 / num2;
}
}
정리해봅시다.
- 클래스란 뭔가요?
클래스는 자바에서 가장 작은 단위를 나타내며, 클래스는 상태와 행동을 가진다. 상태는 변수로 나타내며 행동은 메서드로 나타낸다. - 메소드가 뭔가요?
메서드는 값을 입력받고 내부적인 연산을 통해 계산된 값을 출력한다. 다만 입력 값이다 출력 값은 있을 수도, 없을 수도 있다. - 메소드의 매개 변수는 어디에 적어줘야 하나요?
괄호 안에 적어주면 된다. - 메소드 이름 앞에 꼭 적어 줘야 하는 건 뭐죠?
메서드 이름 앞에는 접근 제어자와 리턴 타입이 있어야 한다. - 클래스가 갖고 있어야 한다고 한 두 가지가 뭐죠?
클래스가 갖고 있어야 하는 건 상태(변수)와 행동(메서드)이다. - 메소드에서 결과를 돌려주려면 어떤 예약어를 사용해야 하나요?
'return'을 사용하면 된다.
2장. Hello God Of Java
직접해봅시다.
public class Profile {
public static void main(String[] args) {
System.out.println("My name is HS");
System.out.println("My age is 18^^");
}
}
정리해봅시다.
- main() 메소드의 메소드 이름 앞에는 어떤 예약어들이 들어가나요?
제어자(public, static)와 리턴 타입(void)가 들어간다. - main() 메소드의 매개 변수에는 어떤 값이 들어가나요?
String[] args가 들어간다. (String 타입의 가변 배열) - 만약 여러분들이 만든 클래스에 main() 메소드가 없다면, java 명령어로 그 클래스를 수행할 수 있나요?
수행할 수 없다. main 메서드가 없으면 'java.lang.NoSuchMethodError'가 발생한다. - System.out.println() 메소드는 어떤 용도로 사용하나요?
매개변수로 넘어온 문자열을 출력한다. - System.out.print() 메소드는 System.out.println() 메소드와 어떤 차이가 있나요?
System.out.print() 메서드는 문자열 끝에 개행 문자(\n)가 없고, System.out.println() 메서드는 문자열 끝에 개행 문자가 추가된다. - //는 무엇을 하는 데 사용하는 기호인가요?
한 줄 주석 - /*로 시작하고, */로 끝나는 사이에 있는 소스들은 어떻게 되나요?
모두 주석 처리 된다. (여러 줄 주석) - 메소드를 선언할 때 반드시 꼭 있어야 하는 세 가지는 무엇인가요?
접근 제어자, 리턴 타입, 메서드 이름 ---> 틀림
> 정답 : 리턴 타입, 메서드 이름, 메서드 내용
3장. 자바를 제대로 알려면 객체가 무엇인지를 알아야 해요
직접해봅시다.
public class Profile {
String name;
int age;
public void setName(String str) {
name = str;
}
public void setAge(int val) {
age = val;
}
public void printName() {
System.out.println("My name is " + name);
}
public void printAge() {
System.out.println("My age is " + age);
}
public static void main(String[] args) {
Profile profile = new Profile();
profile.setName("MIN");
profile.setAge(20);
profile.printName();
profile.printAge();
}
}
정리해봅시다.
- 클래스와 객체의 차이점을 말해 주세요.
클래스는 객체의 상태와 행동을 나타내는 도안이라고 보면 된다. 객체는 실제 사물을 나타내는 것이며 클래스로 객체를 생성할 수 있다. - 객체를 생성하기 위해서 꼭 사용해야 하는 예약어는 뭐라고 했죠?
new - 객체를 생성하기 위해서 사용하는 메소드 같이 생긴 클래스 이름에 소괄호가 있는 것을 뭐라고 하나요?
생성자. 생성자가 아무것도 없을 시 기본 생성자를 작성하지 않아도 컴파일러가 알아서 자동으로 작성해준다. - 객체의 메소드를 사용하려면 어떤 기호를 객체 이름과 메소드 이름 사이에 넣어주어야 하나요?
.(점) - 여러분들이 메소드를 사용하기 위해서는 어떤 것을 만들어야 하나요?
객체 - 5번 문제에서 만들어야 하는 것은 어떤 예약어를 사용하고, 클래스의 무엇을 사용해야 하나요?
new, 생성자
4장. 정보를 어디에 넣고 싶은데
직접해봅시다.
public class ProfilePrint {
byte age;
String name;
boolean isMarried = false;
public void setAge(byte age) {
this.age = age;
}
public byte getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setMarried(boolean flag) {
isMarried = flag;
}
public boolean isMarried() {
return isMarried;
}
public static void main(String[] args) {
ProfilePrint profile = new ProfilePrint();
profile.setAge((byte)29);
profile.setName("hs");
profile.setMarried(false);
System.out.println(profile.getAge());
System.out.println(profile.getName());
System.out.println(profile.isMarried());
}
}
정리해봅시다.
- 네 가지 종류의 변수는 어떻게 구분할 수 있나요?
변수가 선언 된 위치로 구분한다.
자바 4가지 변수 - 지역 변수(중괄호 내), 매개 변수(메서드로 넘어오는 변수), 인스턴스 변수(메서드 밖, 클래스 안에 선언된 변수), 클래스 변수(메서드 밖, 클래스 안에 선언되어있고 static 예약어가 붙은 변수) - 변수의 이름을 지을 때 대문자로 시작해도 되나요?
네. 컴파일 시 이상은 없지만 되도록 명명 규칙을 따라 맨 앞글자는 대문자보다는 소문자로 시작하자. (단, 상수의 경우 변수명을 모두 대문자로 작성) - 자료형에는 기본 자료형과 어떤 자료형이 있나요?
참조 자료형 - 기본 자료형에는 몇 가지가 있나요?
8가지(byte, short, int, long, char, float, double, boolean) - 기본 자료형 중 정수형에는 어떤 것들이 있나요?
byte, short, int, long - byte는 몇 비트(bit)로 되어 있나요?
8비트(부호 비트 1 + 값 표현 비트 7) - byte는 왜 만들었을까요?
byte 범위 내의 정수 값을 메모리 낭비 없이 저장하기 위해
byte는 8비트, int는 32비트이므로 byte 범위 내의 값을 int로 저장하면 메모리가 낭비된다. - int와 long 중 어떤 타입이 더 큰 숫자를 처리할 수 있나요?
long - 소수점을 처리하는 타입은 어떤 것이 있나요?
float, double - char는 정수형인가요?
네 - a라는 것을 char로 정의할 때 어떤 기호로 감싸주어야 하나요?
'a' - true와 false 두개의 값만을 가지는 타입은 어떤 것인가요?
boolean
반응형