πŸ’»κ°μ²΄μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°κ³Ό 클래슀-1(22.11.28 μžλ°”μˆ˜μ—…)

λ¦¬μ•ˆπŸ€Β·2022λ…„ 12μ›” 6일

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

λͺ©λ‘ 보기
14/21

πŸ“Œκ°μ²΄μ§€ν–₯ ν”„λ‘œκ·Έλž˜λ°

(OPP => Object Oriented Programming)

=> ν˜„μ‹€ 객체λ₯Ό 컴퓨터 ν”„λ‘œκ·Έλž¨μœΌλ‘œ ν‘œν˜„ν•˜κΈ° μœ„ν•œ ν”„λ‘œκ·Έλž˜λ° 기법
=> 객체λ₯Ό μ€‘μ‹¬μœΌλ‘œ 객체 κ°„μ˜ 관계λ₯Ό 톡해 ν”„λ‘œκ·Έλž¨μ„ κ΅¬ν˜„ν•˜λŠ” 것
=> 상속성, 좔상화, λ‹€ν˜•μ„±, 은닉성(μΊ‘μŠν™”) νŠΉμ§•
객체(object) => λͺ¨λ“ λŒ€μƒ(사물,업무) νŒŒμ•…(식별)ν•  수 μžˆλŠ” 주제

- 클래슀 : 객체(사물, 업무)λ₯Ό 주제둜 μ •μ˜ν•˜κ³  μ£Όμ œμ— λ§žλŠ” νŠΉμ§•μ„ μ €μž₯, μ£Όμ œμ— λ§žλŠ” κΈ°λŠ₯을 μ €μž₯
- 멀버 λ³€μˆ˜ : ν΄λž˜μŠ€μ•ˆμ— μžˆλŠ” λ³€μˆ˜λ‘œ μ£Όμ œμ— λ§žλŠ” νŠΉμ§•μ„ μ €μž₯
- λ©€λ²„ν•¨μˆ˜(λ©”μ„œλ“œ) : ν΄λž˜μŠ€μ•ˆμ— μžˆλŠ” ν•¨μˆ˜λ‘œ μ£Όμ œμ— λ§žλŠ” κΈ°λŠ₯을 μ €μž₯
- ν•¨μˆ˜ : 자주 μ‚¬μš©ν•˜λŠ” κΈ°λŠ₯을 μ΄λ¦„μœΌλ‘œ μ •μ˜ν•˜κ³  ν˜ΈμΆœν•΄μ„œ μ‚¬μš©

  • 객체지ν–₯ ν”„λ‘œκ·Έλž˜λ° 3단계
    뢄석 - 섀계 - κ΅¬ν˜„
  1. 뢄석 - 객체 λͺ¨λΈλ§ => 객체의 κ΅¬μ„±μš”μ†Œ(속성, νŠΉμ§•)와 λ™μž‘(κΈ°λŠ₯)을 μΆ”μΆœν•˜λŠ” κ³Όμ •
    ex) 학생 : ν•™λ²ˆ, 이름, ν•™λ…„, μ‚¬λŠ”κ³³, κ΅­μ–΄μ μˆ˜, μ˜μ–΄μ μˆ˜, μ μˆ˜ν•©κ³„, μ μˆ˜ν‰κ· ...
  2. 섀계 - 클래슀 μ •μ˜ => λͺ¨λΈλ§μ„ ν†΅ν•΄μ„œ 클래슀 μ •μ˜
    1) λ©€λ²„λ³€μˆ˜ : 객체 κ΅¬μ„±μš”μ†Œ(속성, νŠΉμ§•)
    2) λ©”μ„œλ“œ(λ©€λ²„ν•¨μˆ˜) : 객체 λ™μž‘
  3. κ΅¬ν˜„ - 객체 생성 μ‚¬μš©
    => 객체생성 : κΈ°μ–΅μž₯μ†Œ ν• λ‹Ή(λ©”λͺ¨λ¦¬ 곡간 생성)
    => μ‚¬μš© : κΈ°μ–΅μž₯μ†Œ μ ‘κ·Όν•΄μ„œ λ©€λ²„λ³€μˆ˜, λ©”μ„œλ“œ 호좜

πŸ“Œ ν΄λž˜μŠ€μ™€ 좜λ ₯ λ©”μ„œλ“œ λ§Œλ“€κΈ°

- 클래슀 : 학생 객체(주제) μ •μ˜
- 클래슀 이름 μž‘μ„± κ·œμΉ™
=> λŒ€λ¬Έμžλ‘œ μ‹œμž‘(μ†Œλ¬Έμž 였λ₯˜λ‚¨, κ°œλ°œμžλ“€ μ‚¬μ΄μ˜ κ·œμΉ™)
=> 영문자

1. Student 클래슀 λ§Œλ“€κΈ°

  • μ ‘κ·Όμ œμ–΄μž class ν΄λž˜μŠ€μ΄λ¦„{
    Β Β Β Β Β λ©€λ²„λ³€μˆ˜;
    Β Β Β Β Β λ©”μ„œλ“œ;
    }
    - public λͺ¨λ‘ μ ‘κ·Όν•  수 μžˆλŠ” 클래슀
    ex) public class Student{
    }

[Student]

	public class Student {

	// 멀버 λ³€μˆ˜(ν•™μƒμ˜ νŠΉμ§• μ €μž₯)
	// ν•™μƒλ²ˆν˜Έ, 학생이름, κ΅­μ–΄μ μˆ˜, μ˜μ–΄μ μˆ˜, μˆ˜ν•™μ μˆ˜
	// public λͺ¨λ‘ μ ‘κ·Όν•  수 μžˆλŠ” λ³€μˆ˜
	public int num;
	public String name;
	public int kor;
	public int eng;
	public int math;
	
    // 멀버 ν•¨μˆ˜(λ©”μ„œλ“œ)
	// public λͺ¨λ‘ μ ‘κ·Όν•  수 μžˆλŠ” ν•¨μˆ˜
	public void prn() {
		System.out.println("학생 정보 좜λ ₯");
	}

2. μ‹€ν–‰ 클래슀 λ§Œλ“€κΈ°
[Test1]

	public static void main(String[] args) {
    	Student s=new Student();
		// s κΈ°μ–΅μž₯μ†Œμ— μ €μž₯된 Student의 κΈ°μ–΅μž₯μ†Œμ˜ μ£Όμ†Œκ°’(4byte) 좜λ ₯
		System.out.println(s);
	
		// μ‚¬μš©
		System.out.println("Student의 κΈ°μ–΅μž₯μ†Œμ˜ μ£Όμ†Œκ°’ s= "+s);
		// Studentμ•ˆμ— λ³€μˆ˜ 호좜 ( μ£Όμ†Œλ₯Ό ν†΅ν•΄μ„œ 호좜)
		// . μ£Όμ†Œλ₯Ό ν†΅ν•΄μ„œ κΈ°μ–΅μž₯μ†Œμ˜ λ³€μˆ˜, ν•¨μˆ˜λ₯Ό 호좜(μ°Έμ‘° μ—°μ‚°μž)
		//	λ³€μˆ˜=κ°’;
		s.num=1;
		s.name="홍길동";
		s.kor=100;
		s.eng=90;
		s.math=80;

		System.out.println("s.num="+s.num);
		System.out.println("s.name="+s.name);
		System.out.println("s.kor="+s.kor);
		System.out.println("s.eng="+s.eng);
		System.out.println("s.math="+s.math);
		// Studentμ•ˆμ— ν•¨μˆ˜ 호좜
		s.prn();
		}

	}


1. Tree 클래슀 λ§Œλ“€κΈ°

	public class Tree {
		// λ©€λ²„λ³€μˆ˜(λ‚˜λ¬΄μ˜ νŠΉμ§• μ €μž₯ν•˜λŠ” λ³€μˆ˜)
		// λ‚˜λ¬΄μ˜ 이름, λ‚˜λ¬΄μ˜ λ‚˜μ΄
		public String name;
		public int age;

		// λ©€λ²„ν•¨μˆ˜(λ©”μ„œλ“œ => λ‚˜λ¬΄μ˜ κ΄€λ ¨λœ κΈ°λŠ₯의 μ •μ˜ ν•˜λŠ” ν•¨μˆ˜)
		// prn2() 좜λ ₯ "λ‚˜λ¬΄κ°€ μžλž€λ‹€"
		public void prn2() {
			System.out.println("λ‚˜λ¬΄κ°€ μžλž€λ‹€");
		}

2. μ‹€ν–‰ 클래슀 λ§Œλ“€κΈ°

	public static void main(String[] args) {
		// Tree 클래슀 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ κΈ°μ–΅μž₯μ†Œ ν• λ‹Ή
		Tree t=new Tree();
		
		// Treeμ•ˆμ— μžˆλŠ” λ³€μˆ˜ name, age에 μ €μž₯
		// Treeμ•ˆμ— μžˆλŠ” λ³€μˆ˜ name, age 좜λ ₯
		t.name="λ‚˜λ¬΄";
		t.age=5;
		System.out.println("t.name="+t.name);
		System.out.println("t.age="+t.age);
		
		// Treeμ•ˆμ— μžˆλŠ” ν•¨μˆ˜ prn()호좜
		t.prn2();


1. Animal 클래슀 λ§Œλ“€κΈ°

	public class Animal {
		// λ©€λ²„λ³€μˆ˜(λ™λ¬Όμ˜ νŠΉμ§• μ €μž₯ν•˜λŠ” λ³€μˆ˜)
		// λ™λ¬Όμ˜ 이름, λ™λ¬Όμ˜ λ‚˜μ΄
	
		public String name;
		public int age;
	
		// λ©€λ²„ν•¨μˆ˜(λ©”μ„œλ“œ => 동물 κ΄€λ ¨λœ κΈ°λŠ₯의 μ •μ˜ ν•˜λŠ” ν•¨μˆ˜)
		// run() 좜λ ₯ "동물이 달린닀"
		public void run() {
			System.out.println("동물이 달린닀");
		}
	}

2. μ‹€ν–‰ 클래슀 λ§Œλ“€κΈ°

	public static void main(String[] args) {		
		// Animal 클래슀 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ κΈ°μ–΅μž₯μ†Œ ν• λ‹Ή
		Animal a=new Animal();
		
		// Animalμ•ˆμ— μžˆλŠ” λ³€μˆ˜ name, age에 μ €μž₯
		// Animalμ•ˆμ— μžˆλŠ” λ³€μˆ˜ name, age 좜λ ₯
		a.name="톰이";
		a.age=8;
		System.out.println("a.name="+a.name);
		System.out.println("a.age="+a.age);
		
		// Animalμ•ˆμ— μžˆλŠ” ν•¨μˆ˜ run()호좜
		a.run();		
	}

0개의 λŒ“κΈ€