πŸ’»μ˜€λ²„λ‘œλ”© / 객체 κ°„ ν˜‘λ ₯(22.12.12 μžλ°”μˆ˜μ—…)

λ¦¬μ•ˆπŸ€Β·2023λ…„ 1μ›” 3일

μžλ°”κ³΅λΆ€κΈ°λ‘

λͺ©λ‘ 보기
17/21

πŸ“Œμ˜€λ²„ λ‘œλ”©

  • ν•˜λ‚˜μ˜ 클래슀 내에 같은 μ΄λ¦„μ˜ μƒμ„±μž / λ©”μ„œλ“œ
  • λ°›λŠ” κ°’μ˜ 개수, ν˜•μ΄ λ‹€λ₯΄λ‹€

1. Person 클래슀 생성

	private String name;
    private int age;
    
    // κΈ°λ³Έμƒμ„±μž => κΈ°μ–΅μž₯μ†Œν• λ‹Ή, null, 0κΈ°λ³Έ μ΄ˆκΈ°κ°’ ν• λ‹Ή
    public Person(){
    	this("이름",100);
        // this() -> μžκΈ°μžμ‹  μƒμ„±μž 호좜
    }
    
    public Person(String name){
    }
    public Person(int age){
    
    // name, age λ°›λŠ” μƒμ„±μž
    public Person(String a, int b){
    	name=a;
        age=b;
 
 => μƒμ„±μž 이름이 Person 으둜 동일!       
//------------------------------------        	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
    
    // 좜λ ₯ λ©”μ„œλ“œ
	public void prn() {
		System.out.println(this.name+","+this.age);
	}    
	// λ©”μ„œλ“œ μ˜€λ²„λ‘œλ”©
	public void prn(String name) {
		this.name=name;
		System.out.println(this.name+","+this.age);
	}
	public void prn(int age) {
		this.age=age;
		System.out.println(this.name+","+this.age);
	}
	public void prn(String name,int age) {
		this.name=name;
		this.age=age;
		System.out.println(this.name+","+this.age);
        		System.out.println(10);
		System.out.println(10.5);
		System.out.println("μ•ˆλ…•");
		System.out.println('A');

2. μ‹€ν–‰ 클래슀 생성
(1) κΈ°λ³Έ μƒμ„±μž 호좜

		Person ps=new Person();
		ps.prn();


(2) name, age λ°›λŠ” μƒμ„±μž 호좜

		Person ps2=new Person("김길동", 10);
		ps2.prn();


(3) μ˜€λ²„λ‘œλ”© ν•œ λ©”μ„œλ“œ 호좜

		Person ps3=new Person();
		ps3.prn();
		ps3.prn("μœ κ΄€μˆœ");
		ps3.prn(10);
		ps3.prn("μ΄μˆœμ‹ ",20);


  • Point 클래슀 μ •μ˜
  • prn(두 수λ₯Ό λ°›μ•„μ„œ) 좜λ ₯ν•˜λŠ” λ©”μ„œλ“œ μ •μ˜
  • prn μ˜€λ²„λ‘œλ”©
  • 좜λ ₯ = > 5,7 / 10.5, 20.7

1. Point 클래슀 생성

	public class Point {
		public void prn(int x, int y) {
			System.out.println(x+","+y);
		}
		public void prn(double x, double y) {
			System.out.println(x+","+y);
		}
	}    

2. μ‹€ν–‰ 클래슀 생성

		Point p=new Point();
		p.prn(5, 7);
		p.prn(10.5, 20.7);


πŸ“Œκ°μ²΄ κ°„ ν˜‘λ ₯

  • Student 클래슀 생성
  • λ©€λ²„λ³€μˆ˜ : String name, int moneny
    // λ²„μŠ€ νƒ€λŠ” 경우 - takeBus
    // λ²„μŠ€μš”κΈˆ μ§€λΆˆ => λ²„μŠ€ κΈˆμ•‘ 증가
    // 학생이 κ°€μ§€κ³  μžˆλŠ” λˆμ€ κ°μ†Œ
  • prn() λ©”μ„œλ“œ name, money 좜λ ₯

  • Bus 클래슀 생성
  • λ©€λ²„λ³€μˆ˜ : int busNum, int busMoney
  • busMoneyλ₯Ό λ°›λŠ” μƒμ„±μž take()
  • prn() busNum, bus Money

  • Subway 클래슀 μ •μ˜
  • λ©€λ²„λ³€μˆ˜ : μ§€ν•˜μ² λ…Έμ„  String lineNum, μ§€ν•˜μ² μš”κΈˆ int subMoney
  • subMoneyλ₯Ό λ°›λŠ” μƒμ„±μž take()
  • prn() lineNum, subMoney

학생 "홍길동"이 5000원을 κ°€μ§€κ³ 
학ꡐ에 갈 λ•Œ λ²„μŠ€(1,000원) λ₯Ό 타고 κ°€κ³ 
집에 올 λ•ŒλŠ” μ§€ν•˜μ² (1,500원) 을 타고 옴

1. Student 클래슀 생성

public class Student {
	String name;
	int money;
	public Student(String name, int money) {
		this.name=name;
		this.money=money;
	} 
	
	public void takeBus(Bus bus) {
		bus.take(1000);
		this.money -= 1000;
	}
	
	public void takeSubway(Subway subway) {
		subway.take(1500);
		this.money -= 1500;
	}
	
	public void prn() {
		System.out.println("학생이름 : "+name+", "+"κ°€μ§„ 돈 : "+money);
	}

2. Bus 클래슀 생성

public class Bus {
	int busNum;
	int busMoney;
	
	public Bus(int busNum) {
		this.busNum=busNum; 
	}

	public void take(int busMoney) {
		this.busMoney += busMoney;
	}
	
	public void prn() {
		System.out.println("λ²„μŠ€λ²ˆν˜Έ : "+busNum+", "+"λ²„μŠ€ μš”κΈˆ : "+busMoney);
	}
}

3. Subway 클래슀 생성

public class Subway {
	String LineNum;
	int SubwayMoney;
	public Subway(String LineNum) {
		this.LineNum=LineNum;
	}
	
	public void take(int SubwayMoney) {
		this.SubwayMoney += 1500;
	}
	public void prn() {
		System.out.println("μ§€ν•˜μ²  ν˜Έμ„  : "+LineNum+", "+"μ§€ν•˜μ²  μš”κΈˆ : "+ SubwayMoney);
	}
}

4.μ‹€ν–‰ 클래슀

		Student s=new Student("홍길동", 5000);
		s.prn();
		
		Bus bus100=new Bus(100);
		bus100.prn();
		
		s.takeBus(bus100);
		s.prn();
		bus100.prn();
		
		Subway subway1=new Subway("1ν˜Έμ„ ");
		subway1.prn();
		
		s.takeSubway(subway1);
		s.prn();
		subway1.prn();
	}

✍️결과
λ²„μŠ€λ₯Ό 타면 학생이 κ°€μ§„ λˆμ—μ„œ -1000
λ²„μŠ€κ°€ κ°€μ§„ 돈 +1000
μ§€ν•˜μ² μ„ 타면 학생이 κ°€μ§„ λˆμ—μ„œ -1500
μ§€ν•˜μ² μ΄ κ°€μ§€λŠ” 돈 +1500 λ˜λŠ” 것을 λ³Ό 수 μžˆλ‹€



  • 클래슀 Member
  • λ©€λ²„λ³€μˆ˜ private - id, pass, name
  • λ©”μ„œλ“œ set, get

  • 클래슀 MemberDAO
  • λ©”μ„œλ“œ μ •μ˜, 리턴할 ν˜• μ—†μŒ insertMember(Member number)
  • λ©”μ„œλ“œ μ•ˆμ—λŠ” 좜λ ₯ (아이디: λΉ„λ°€λ²ˆν˜Έ: 이름:)

- μ‹€ν–‰ν΄λž˜μŠ€ -

  • Member 객체생성
  • setλ©”μ„œλ“œ ν†΅ν•΄μ„œ 값을 μ €μž₯
  • MemberDAO 객체생성
  • insertMember λ©”μ„œλ“œ 호좜(member정보λ₯Ό 듀고감)

1. Member 클래슀 생성

public class Member {
	private String id;
	private int pass;
	private String name;
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public int getPass() {
		return pass;
	}
	public void setPass(int pass) {
		this.pass = pass;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	

2. MemberDAO 클래슀 생성

public class MemberDAO {
	public void insertMember(Member member) {
		System.out.println("아이디 : "+member.getId());
		System.out.println("λΉ„λ°€λ²ˆν˜Έ : "+member.getPass());
		System.out.println("이름 : "+member.getName());
	}
}

3. μ‹€ν–‰ 클래슀 생성

	public static void main(String[] args) {
		Member m=new Member();
		m.setId("Hong");
		m.setPass(1234);
		m.setName("홍길동");
		
		MemberDAO mdao=new MemberDAO();
		mdao.insertMember(m);
	}

0개의 λŒ“κΈ€