본문 바로가기

JAVA/객체 코드

Object Oriented Programming(객체지향 프로그래밍) 이론

  절차지향 : 처리중심 -> 객체지향 : 설계중심

 

  *class MyClass{ //class의 설계
  변수(멤버변수) - 접근지정(외부, 내부)
  함수(메소드) - 처리
  }
 
  *클래스명 변수(instance) = new 클래스명();
  MyClass cls  = new MyClass(); //동적할당 없이 사용 불가
          ->stack영역        -> heap영역
 

 

 

기존방식 

		//TV -> 2대
		String name[] = new String[2];	//삼성, LG
		int channel[] = new int[2];		//채널 수
		boolean power[] = new boolean[2];	// on/off
		//String 
		name[0] = "삼성";	//거실
		name[1] = "LG";	//방
		
		channel[0] = 11;
		channel[1] = 23;
		
		power[0] = true;
		power[1] = false;

 

 

 

객체 방식

	
		TV tv1 = new TV();	//tv	-> instance(주체): 메모리상에 존재하는 요소
		tv1.getInput("LG", 11, true);
		tv1.method();
		
		TV tv2 = new TV();	//tv2	-> object라고도 한다
		tv2.getInput("삼성", 23, false);
		tv2.method();
		 	
		//배열만을 동적할당
		TV arrTv[] = new TV[3];	// = TV arrTv1, arrTv2, arrTv3;
		
		//객체를 동적할당
		for (int i = 0; i < arrTv.length; i++) {
			arrTv[i] = new TV();
		}
		arrTv[0].getInput("aaa", 1, true);
		arrTv[1].getInput("bbb", 2, true);
		arrTv[2].getInput("ccc", 3, true);
		
		arrTv[1].setPower(false);
		arrTv[2].setPower(false);
		
		for (int i = 0; i < arrTv.length; i++) {
			arrTv[i].method();
		}
		 	


---------------------------------------------------------------------
	public class TV {	//class 설계(정의)	
      String name;
      int channel;
      boolean power;
      // int movie;

      public void getInput(String n, int c, boolean p) {
          name = n;
          channel = c;
          power = p;

      }

      public void setPower(boolean p) {
          power = p;
      }



      public void method() {
          System.out.println("name = "+name);
          System.out.println("channel = "+channel);
          System.out.println("power = "+power);


      }
		String student1[][] = {
				{"홍길동","24","98","100"},//0
				{"일지매","21","80","90"},//1
				{"임꺽정","17","70","100"},//2
		};//       0      1    2     3
		
		Student student2 = new Student();
		student2.setName("홍길동");
		student2.setAge(24);
		student2.setEng(98);
		student2.setMath(100);
		
		Student student3 = new Student();
		student3.setName("일지매");
		student3.setAge(24);
		student3.setEng(98);
		student3.setMath(100);
	}
    
    
    
    -------------------------------------------------------------------
    
    public class Student {
	String name;
	int age;
	int eng;
	int math;
	
	public void setName(String n) {
		name = n;
	}
	public void setAge(int a) {
		age = a;
	}
	public void setEng(int e) {
		eng = e;
	}
	public void setMath(int m) {
		math = m;
	}
	
	
	
	

'JAVA > 객체 코드' 카테고리의 다른 글

객체 3대 특징  (0) 2020.06.03
constructor 생성자  (0) 2020.06.02
객체 3대 특징 - 은닉성( 캡슐화 )  (0) 2020.06.02
객체 // 야구게임  (0) 2020.06.01
객체//Sorting  (0) 2020.06.01