(21/03/23 ~ 22/03/23)

(UPP)
# 물체 정위 프로그램 작성 (객체 지향 프로그래밍)
– 변수 및 함수를 세상에 실제로 존재하는 개념(객체)으로 묶어서 사용하는 프로그래밍 방법론.
– 변수 및 함수를 무분별하게 사용하면 다양한 문제가 발생합니다. 실제로 존재하다
객체에 구속됨 표현하기 시작했다
– 변수는 개체의 현재 상태를 표시합니다.
– 물체 그 안에 있는 함수는 개체의 상태(변수)를 변경합니다.
그만큼 메소드라 불러라 (바꾸지 않아도 변수 쓰면 메소드)
예) 책
– 책에서 현재 상태(변수)
: 오늘 스프레드 페이지, 총 페이지, 출시 날짜, 각 페이지의 기념일 로고,
모든 페이지가 쓰여진 곳의 좌표, 가격 및 할인율.
– 책에서 기능(방법)
: 다음 페이지 넘기기, 여러 페이지 넘기기, 한 페이지 넘기기, 지우개…
# 수업 (수업)
– 물체 지향 프로그래밍에서 객체를 프로그래밍 언어로 표현하기 위한 문법
– 클래스 이 객체의 초안 역할을하다
– 수업 정의 당시에는 엔티티가 없습니다.
– 수업 생성하는 실제 개체를 인스턴스라고 합니다.
– 수업 를 통해 인스턴스를 만들 때 new를 사용합니다.
– 모든 예 똑같은 것 값 사용 그때에 사용 위치
public static void main(String() args) {
// Apple이라는 설계도로 실체(인스턴스)를 2개 만들었다
Apple a1 = new Apple();
Apple a2 = new Apple();
Random ran = new Random();
Apple() apples = new Apple(100);
// 인스턴스에 .을 찍고 해당 클래스의 변수와 메서드를 사용할 수 있다
a1.price = 800;
a2.price = 1000;
// 메서드는 모두 똑같은 동작을 하지만 각 인스턴스의 상태값에 따라 결과가 달라진다
System.out.println(a1.toDollar()); // >> 0.664
System.out.println(a2.toDollar()); // >> 0.83
}
}
// Apple 객체의 설계도 (class) - 실체 X
class Apple {
int price;
int taste;
// 현재 사과 가격을 달러로 변환하여 반환해주는 메서드
double toDollar() {
return price * 0.00083;
}
}
예) 책장 넘기기
import java.util.Random;
public class C03_OOP {
public static void main(String() args) {
Book b1 = new Book();
b1.next();
b1.next();
b1.next();
b1.next();
System.out.println("현재 보고 있는 페이지는" + b1.currPage + "page입니다.");
b1.prev();
b1.prev();
System.out.println("현재 보고 있는 페이지는" + b1.currPage + "page입니다.");
}
}
class Book {
// 인스턴스 변수 정의
int currPage;
// 메소드 정의
void next() {
++currPage;
}
void prev() {
--currPage;
}
}
>>
보고 계신 페이지는 4페이지입니다.
보고 계신 페이지는 2페이지입니다.
# 공공의~에서 기능
– 일반적으로 수업은 모든 다른 패키지에서 만들다 심지어 사용 하다.
– 다른 패키지에서 다른 패키지의 항목을 사용하려면 전에 공공의첨부해야합니다
(myobj 패키지) – 다른 패키지에서 클래스 생성
package myobj;
public class Cart {
String name;
public int acc;
public int speed;
public int max_speed;
public int weight;
public int break_power;
public void plusSpeed() {
speed += acc;
}
public void minusSpeed() {
speed -= acc;
}
}
(표준 패키지) – 메인 프로그램에서 사용하는 경우
import myobj.Cart;
public class C03_OOP {
public static void main(String() args) {
Cart cart1 = new Cart();
Cart cart2 = new Cart();
cart1.speed = 50;
cart1.acc = 10;
cart2.speed = 100;
cart2.acc = 20;
cart1.plusSpeed();
cart1.plusSpeed();
cart1.plusSpeed();
cart1.minusSpeed();
cart2.plusSpeed();
cart2.plusSpeed();
System.out.println(cart1.speed);
System.out.println(cart2.speed);
}
}
– 다른 패키지에서 함수를 사용하는 방법 수입필요.
수입 myobj. 쇼핑 카트;
-수입붓다 아닌 것 패키지.두번째 전에 삽입 하다
myobj. 쇼핑 카트 장바구니1 = 새로운 myobj. 쇼핑 카트();
-Myobj패키지 센터 자동차 클래스 공공의두번째 첨부된 예 변수와 방법 사용 가능한

– public으로 표시되지 않은 이름 인스턴스 변수는 다른 클래스의 메인 파일에서 사용할 수 없습니다.

# 예 변하기 쉬운
int 가격, int 맛 > 인스턴스 변수
double toDollar > 메소드
class Apple {
// 클래스의 인스턴스 변수 (인스턴스마다 값이 다름)
// = 멤버 변수, 속성, 필드 ... 등등
int price;
int taste;
// 클래스의 인스턴스 메서드 (가지고 있는 인스턴스 변수에 따라 결과가 다름)
double toDollar() {
return price * 0.00083;
}
}
– 공부에 참고한 블로그