클래스와 객체

coding by 스플릿·2021년 12월 22일
0

Java1

목록 보기
20/44

클래스

  • 정의 : 객체를 정의해 놓은 것

  • 용도 : 객체를 생성하는데 사용한다

    저장형태의 발전

    1. 변수 : 하나의 데이터를 저장할 수 있는 공간
    2. 배열 : 같은 타입의 데이터를 여러개 저장할 수 있는 공간
    3. 구조체 : 여러 종류의 데이터를 여러개 저장할 수 있는 공간
    4. 클래스 : 데이터와 함수를 같이 저장할 수 있는 공간

객체

  • 정의 : 실존하는것 ( 사물(유형)이나 개념(무형) )

  • 용도 : 객체가 가지고 있는 기능,속성에 따라 다르다

  • 객체의 구성요소

    • 여러개의 속성과 여러개의 기능으로 이루어져 있으며 이들을 객체의 멤버라고 한다.
    1. 속성 ( 객체가 TV일 때 ) : 크기, 색상, 볼륨, 채널
      • 속성은 변수로 표현한다
    2. 기능 ( 객체가 TV일 때 ) : 볼륨올리기, 볼륨내리기, 채널변경
      • 기능은 메서드로 표현한다.

  • 인스턴스 : 클래스로부터 만들어진 객체를 인스턴스라고 한다.
class Example(){
  public static void main(String[] args){
    TV t = new TV(); //Tv클래스 타입의 참조변수 t에 생성된 Tv인스턴스의 주소 저장
    t.size = 50;
    t.color = "Red";
    t.volume = 10;
    t.channel = 0;
    t.channel_up(); //channel_up메서드 실행
  }
}
class TV{
  int size; //크기(속성)
  String color; //색상(속성)
  int volume; //볼륨(속성)
  int channel; //채널(속성)
  void volume_up(){volume++;} //볼륨올리기(메서드)
  void volume_down(){volume--;} //볼륨내리기(메서드)
  void channel_up(){channel++;} //채널올리기(메서드)
  void channel_down(){channel--;} //채널내리기(메서드)
}
  • 클래스는 설계도 객체는 제품이라고 할 수 있다.

  • 클래스를 정의하고 클래스를 통해 객체를 생성한다.

  • 클래스를 잘 만들어 놓으면 객체를 생성하여 사용하는 일이 쉽다.

  • 같은 클래스로부터 생성되어도 각 인스턴스의 속성은 서로 다른 값을 가질 수 있다.
class Example(){
  public static void main(String[] args){
    TV t1 = new TV();
    TV t2 = new TV();
    t1.size = 50; //t1의 사이즈는 50
    t2.size = 100; //t2의 사이즈는 100
  }
}
class TV{
  int size; //크기(속성)
}

객체 배열

  • 배열로 여러개의 객체를 다루는 것 ( 배열에 각 배열의 주소값이 요소로 저장된다. )
class Example(){
  public static void main(String[] args){
    TV [] t_arr = new TV [2];
    t_arr[0] = new TV(); //인스턴스를 생성해서 배열의 요소에 저장
    t_arr[1] = new TV(); //인스턴스를 생성해서 배열의 요소에 저장
    TV [] t_arr2 = new TV [10];
    //객체 배열의 길이가 길 때는 for문으로 인스턴스 생성
    for(int i=0;i<t_arr2.length;i++){
      t_arr2[i] = new TV();
    }     
  }
}
class TV{
  int size; //크기(속성)
}

0개의 댓글