패키지(폴더)(자바 클래스 파일 모여있는 거)
패키지(폴더)
(클래스 파일(java,class) )
패키지의 모임 = 라이브러리
패키지의 모임 = 라이브러리
라이브러리 모듬 = 모듈
-class 모여있는 거
클래스 path설정
필요 라이브러리가 외부에 있을 때?!




scanner내용 바꾸고파 ⇒ 상속받아서 재정의. ⇒ but final있어서 변경x
자바로 구웠는데 main이 없으면 lib(실행될 필요가 없으니까?)-v
실행되면 exe?!
이게 생략되있음







account랑 account.tostring()이랑 같음-v

package ex03.test;
interface 행위 {
void start();
}
class 삼양라면 implements 행위 {
private void 물끓이기() {
}
private void 스프넣기() {
}
private void 면넣기() {
}
private void 계란넣기() {
}
@Override
public void start() {
물끓이기();
면넣기();
스프넣기();
계란넣기();
}
}
class 신라면 implements 행위 {
private void 물끓이기() {
}
private void 스프넣기() {
}
private void 면넣기() {
}
private void 계란넣기() {
}
@Override
public void start() {
물끓이기();
스프넣기();
면넣기();
계란넣기();
}
}
public class ScopeEx02 {
public static void main(String[] args) {
삼양라면 la = new 삼양라면();
la.start();
신라면 la2 = new 신라면();
la2.start();
}
}
package ex03.test;
class Account {
private int number; // 1111
private String pw; // 8877
private String author; // 최주호
private int balance; // 1000
public Account(int number, String pw, String author, int balance) {
this.number = number;
this.pw = pw;
this.author = author;
this.balance = balance;
}
public int getNumber() {
return number;
}
public String getPw() {
return pw;
}
public String getAuthor() {
return author;
}
public int getBalance() {
return balance;
}
public void chanagePassword(String pw){
this.pw = pw;
}
public void changeAuthor(String author) {
this.author = author;
}
public void deposit(int amount){
this.balance = this.balance + amount;
}
public void withdraw(int amount){
this.balance = this.balance - amount;
}
public void setBalance(int balance){
this.balance = balance;
}
}
public class ScopeEx02 {
public static void main(String[] args) {
// 1. 계좌생성 (2023.12.25)
Account account = new Account(1111, "8877", "최주호", 1000);
// 2. 입금 (2023.01.10) - 5000
account.deposit(5000);
// 3. 비밀번호 변경 (2023.01.20) - 9988
account.chanagePassword("9988");
// 4. 계명 - 이름 변경 (2023.02.20) - 홍길동
account.changeAuthor("홍길동");
// 5. 계좌번호변경 - 은행 - 불가능합니다.
// 6. 출금 - 500원
account.withdraw(500);
// 7. 5000 원 입금
int currentBalance = account.getBalance();
int balance = currentBalance + 5000;
account.setBalance(balance);
}
}
package ex06.example7;
public class BurgerSet { // has Burger, Coke
private Burger burger;
private Coke coke;
public BurgerSet(Burger burger, Coke coke) {
this.burger = burger;
this.coke = coke;
System.out.println("버거 세트가 만들어졌어요");
}
public int getTotalPrice() {
return burger.getPrice() + coke.getPrice();
}
public Burger getBurger() {
return burger;
}
public Coke getCoke() {
return coke;
}
}
package ex06.example7;
public class LotteApp {
public static void main(String[] args) {
Burger b1 = new Burger("기본버거", 1000); // [Burger]
Burger b2 = new ShrimpBurger("새우버거", 2000, "새우"); // [Burger, ShrimpBurger]
Coke c1 = new Coke("콜라", 1000);
System.out.println();
BurgerSet set1 =
new BurgerSet(
new Burger("기본버거", 1000),
new Coke("콜라", 1000)
);
System.out.println("총 가격은 : " + set1.getTotalPrice());
// System.out.println(set1.getBurger().getPrice());
// System.out.println(set1.getCoke().getPrice());
}
}
package ex08;
class Account extends Object {
private String author;
private int number;
private int balance;
public Account(String author, int number, int balance) {
this.author = author;
this.number = number;
this.balance = balance;
}
@Override
public String toString() {
return "Account{" +
"author='" + author + '\'' +
", number=" + number +
", balance=" + balance +
'}';
}
}
public class ObEx01 {
public static void main(String[] args) {
Account account = new Account("홍길동", 1111, 1000);
System.out.println(account);
System.out.println(account.toString());
System.out.println(account.getClass());
System.out.println(account.hashCode());
}
}
==은 메모리 주소를 비교하는 것
⇒ 가르치는 게 다르니까 다른 거.

==은 상황에 따라 주소이나 값 비교
==은 기본 자료형(int, long,boolea, char) : 값
==은 참조 자료형(그 외) : 주소

equals로 상태 비교를 한다.
equals는 object 상속 // object는 모든 객체의 부모.
- 주소 먼저 비교
- 1. 안되면 안의 값을 비교

값을 비교하려면 equals
메모리
-static
-heap
내부에 string 영역이 따로 있음.
-stack
정수 기초/참조형

why? 메소드 사용 가능

파싱 : 구문분석
파싱이 제대로 된 것⇒ 그 언어의 오브젝트로 된 것.
연습문제
package ex08.example;
public class StringEx001 {
public static void main(String[] args) {
String date = "AABBBCCCCDDDDD"; // Byte -> 14Byte(한번에 8번 던짐)
String convert = "A2B3C4D5"; // Byte -> 8Byte (인코딩.압축한 거)
//SO (받는 쪽 : 디코딩해야 함. 압축에 대한 명세서가 필요)
}
}
2>3>1
String 예제문제
제네릭
컬렉션
스레드
스트림
버퍼
채팅 만들기 가능
string
공공api
object
jdbc(db 응용)
Share article