JAVA, 클래스와 객체

객체지향 언어

  1. 코드의 재사용성이 높다 -기존의 코드 이용
  2. 코드의 관리가 용이하다 -코드간의 관계 이용
  3. 신뢰성이 높은 프로그래밍을 가능하게 한다 -제어자와 메서드를 이용해 데이터 보호하고 올바른 값 유지 -코드의 중복 제거, 코드 불일치로 인한 오작동 방지

클래스와 객체

1. 클래스와 객체

  • 클래스
    객체를 정의해 놓은것 / 객체를 생성하는데 사용
  • 객체
    실제로 존재하는 것
  • 클래스를 작성한 다음, 클래스로부터 객체를 생성하여 사용한다

2. 객체와 인스턴스

  • 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. instance

3. 객체의 구성요소

속성 : 멤버변수 기능 : 메서드 instance2

4. 인스턴스의 생성과 사용

클래스명 변수명;
// 참조변수 선언 , 클래스의 객체를 참조하기 위한 변수명 = new 클래스명() // 클래스의 객체를 생성 후, 객체의 주소를 참조 변수에 저장
ex)
Phone p;
// Phone 타입의 참조변수 t를 선언
p = new Phone();
// Phone인스턴스를 생성한 후, 생성된 Phone인스턴스의 주소를 p에 저장

  • 인스턴스를 생성하면 동적 메모리(heap)에 할당된다
  • 객체가 생성될때 할당되고 객체가 소멸되면 메모리가 사라진다

5. 객체 배열

  • 객체 배열 생성 후 객체 배열의 각 요소에 객체를 생성하여 저장해야한다
    Phone pArr = new Phone[2];
    //참조변수 배열(객체배열)을 생성

// 객체를 생성해서 배열의 각 요소에 저장
pArr[0] = new Phone();
pArr[1] = new Phone();

6. 클래스의 또 다른 정의

  • 데이터와 함수의 결합
  • 사용자정의 타입 (프로그래머가 서로 과련된 변수들을 묶어서 하나의 타입으로 새로 추가하는 것)

Reference

  • 자바의 정석 - 남궁 성