1. static 은 공유메모리(정적메모리영역)라고 한다. 이유와 작성법은?
정적 메모리 + 공유 메모리
프로그램 시작시 static이 붙은 코드들은 모두 static영역에 생성되고 프로그램 종료 될때까지 없어지지 않고
static영역에 생성된 변수는 어디서든 참조가 가능하다.
2. 클래스란?
객체의 특성(속성과 기능)을 정의해 놓은 것으로서, 객체를 생성할 때 일종의 설계도 역할을 한다.
3. 클래스 작성 시 객체 지향언어의 000와 000 적용되어야 한다.
캡슐화 - 하나의 묶음으로 직접 접근으로 부터 보호하는 것
추상화 - 공통된 부분을 추출하여 정의하고 불필요한 부분은 제거
4. 오버로딩의 정의와 작성시 주의사항에 대해 서술하시오
클래스 내에서 동일한 이름의 메소드 (생성자도포함)을 여러 개 작성하는 기법
ㄴ 하나의 이름으로 여러기능을 수행할 수 있게 하는 것이다.
[오버로딩의 조건]
1. 메소드 (생성자 포함)의 이름이 동일
2. 매개변수의 개수, 순서, 타입 중 2개라도 달라야함 ( 변수명은 신경 쓰지 않음)
5. 생성자란 무엇인지 정의와 작성 규칙과 종류에 대해 서술하시오
인스턴스 생성 시 실행되어 필드를 초기화하고, 특정 기능을 수행함.
작성 규칙:
- 클래스와 이름이 같아야 함.
- 반환형을 지정하지 않음.
종류:
- 기본 생성자(Default Constructor): 컴파일러에 의해 자동으로 제공되는 생성자.
- 매개변수 생성자(Parameterized Constructor): 따로 선언된 매개변수를 갖는 생성자.
Q. 문제
도서정보 관리에 대한 프로그램이다. 해당 구현 클래스 다이어그램과 클래스 구조를 참고하여 프로젝트를 완성하시오.
1. 클래스 만들기 !
: 클래스에는 객체가 가지고 있어야할 속성 + 기능이 있어야한다.
: 객체를 만들기 위한 설계도이다.
1) 속성== 필드
//캡슐화 원칙으로 private으로 사용한다.
2) 기능 (== 생성자 + 메소드)
: 생성자 : new 연산자를 통해서 객체가 생성될때
생성된 객체의 필드값 초기화 / 기능 수행역할을 한다.
① 기본 생성자
public Book () {}
② 매개변수 생성자
: 생성된 메소드 호출 시 () 안에 작성되어 전달되어지는 값을 저장하는 변수
! 매개변수 : 생성자 { 가로안}에서만 사용 가능!
public Book(String title, int price, double discountRate, String author)
book 클래스 만들기 !
public class Book { //클래스에는 객체가 가지고 있어야할 속성+기능이 있다.
//속성 == 필드
//캡슐화의 원칙으로 private를 쓴다.
private String title;
private int price;
private double discountRate;
private String author;
//기능(생성자+메소드)
//기본생성자
public Book() {}
//매개변수 생성자
public Book(String title, int price, double discountRate, String author) {
this.title = title;
this.price = price;
this.discountRate = discountRate;
this.author = author;
}
//캡슐화로 인한 간접 접근 기능(getter /setter)
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public double getDiscountRate() {
return discountRate;
}
public void setDiscountRate(double discountRate) {
this.discountRate = discountRate;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
@Override
public String toString() {
return title + " / " + price + " / " + discountRate + " / " + author;
}
}
'ON > JAVA' 카테고리의 다른 글
14일차_객체지향 복습 및 다형성/바인딩 (0) | 2023.05.04 |
---|---|
13일차_객체지향_상속 (0) | 2023.05.03 |
11일차_객체지향 3번째 시간 (0) | 2023.05.01 |
10일차_ 객체지향 2번째 시간 (0) | 2023.04.28 |
9일차_드디어 객체지향 (0) | 2023.04.27 |