01. 핵심 정리
객체 지향 프로그램이란?
객체는 일반적으로 상태를 표현할 수 있으며 행동으로 실행할 수 있는 모든 것
이러한 객체를 중심으로 프로그램 구조를 설계하고 프로그래밍 하는것
클래스란?
객체를 생성하기 위한 제작 설명서
클래스의 선언
|
1
2
3
4
5
6
7
8
9
|
package section06;
public class ArrayExample {
public static void main(String[] args) {
접근제한자 class 클래스 이름 {
......
}
}
}
|
cs |
클래스를 구성하는 3가지 요소
- 필드(field) : 객체가 가져야 할 데이터, 상태를 저장하는 변수
- 메서드(method) : 객체의 특정 기능을 수행하는 코드 블록
- 생성자(constructor) : 객체를 생성하면서 객체 변수를 초기화 라는 역할(기능)을 하는 메서드
인스턴스 멤버란?
각 객체가 가지게 되는 필드와 메서드
정적멤버란?
모든 객체들이 공유하며 사용하는 하나의 필드와 메서드
static
정적멤버는 static 키워드로 선언 가능
객체를 생성할 때 메모리에 올라가는 것이 아니라,
프로그램 시작할 때 메모리에 올라가고 프로그램 종료될 때 메모리에서 사라짐
2. 응용 문제
Q1. 다음 문장이 맞으면 O표, 틀리면 X표 하세요.
- 객체를 중심으로 프로그램 구조를 설계하고 프로그래밍하는 것을 객체 지향 프로그래밍이라고 합니다. (O)
- 하나의 클래스로 하나의 객체만 만들 수 있습니다. (X)
Q2. 다음 중 객체가 될 수 있는 것을 모두 고르세요.
- 학생
- 수영장
- 꽃
- 나이
A2. 1,2,3
학생, 수영장, 꽃은 구체적인 형태를 가지므로 객체가 될 수 있지만,
나이는 시간에 따라 변하고 형태가 없으므로 객체가 될 수 없다.
Q3. 다음 빈칸에 알맞은 단어를 작성해 보세요.
- 클래스의 3요소는 필드(field) , 메서드(method) , 생성자(constructor) 입니다.
- 클래스를 선언할 때 접근 제한자 (을)를 이용해 접근 범위를 설정할 수 있습니다.
- 클래스는 크게 실행용 클래스, 라이브러리용 클래스로 분류할 수 있습니다.
Q4. 다음 코드는 컴파일 에러가 발생합니다. 그 이유는 무엇이며, 어떻게 해결해야 할까요?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package section07;
public class PRACTICE_07_04 {
public static void main(String[] args) {
Speaker speaker=new Speaker;
speaker.turnOn();
}
}
class Speaker {
void turnOn() {
static int volume=50;
System.out.println("스피커의 전원이 켜졌습니다. 기본 볼륨은 "+volume+"입니다.");
}
}
|
cs |
A4. 12번째 줄에 static은 정적멤버로 메서드 안에 설정하는 것이 아니라 밖으로 빼서 정적멤버(필드)로 사용하거나,
메서드에 붙여서 정적멤버(메서드)로 사용해야한다.
static void turnOn() {
int volume=50;
or
static int volume=50;
void turnOn() {
2024.07.18
'JAVA > JAVA복습(멘토씨리즈 자바)' 카테고리의 다른 글
| [JAVA복습] 09. 생성자 (0) | 2024.07.21 |
|---|---|
| [JAVA복습] 08. 메서드 (0) | 2024.07.20 |
| [JAVA복습] 06. 배열 (0) | 2024.07.18 |
| [JAVA복습] 05. 제어문(2) (0) | 2024.07.16 |
| [JAVA복습] 04. 제어문(1) (0) | 2024.07.16 |