Java - Class & Object

iseon_u·2022년 4월 17일
0

Java

목록 보기
15/77
post-thumbnail

Class & Object 클래스와 객체


Class 클래스

특징

  • 객체를 정의해 놓은 것 (설계도)
  • 객체를 생성하는데 사용 (제품 생성 용도)
  • 인스턴스의 원본
  • 사용자 정의 데이터 타입 (클래스 타입)
  • 클래스를 사용하려면 인스턴스화 해야한다.

구조

public class Alpabet {
		static int num;
		String name;
		void print(){}
}
  • 접근 제어자 사용
  • public class 가 있는 경우, 소스 파일의 이름과 일치시킨다.
  • public class 가 없는 경우, 소스 파일의 이름은 모든 class 이름 가능
  • 하나의 소스 파일엔 하나의 public class
  • 연관된 멤버 변수와 메서드들을 모아서 공통된 이름으로 그룹핑

멤버 변수 (필드)

  • 클래스 안에서 선언한 변수
  • 생성자와 메서드 전체에서 사용
  • 객체와 함께 존재한다.

메서드

  • 클래스 안에서 정의된 함수
  • 객체의 동작에 해당하는 중괄호 {} 블록

Object 객체

특징

  • 속성 (변수) 와 기능 (메서드) 로 구성
  • 변수와 메서드를 사용하기 위해 생성
  • 인스턴스를 대표하는 용어
  • 인스턴스 변수들을 묶어 놓은 것
  • 클래스의 변수화, 복제품

객체의 생성

  1. 클래스의 객체를 참조하기 위한 참조 변수 선언
Alpabet abc;

class variable ;

  • 클래스 타입으로 선언한 변수 (참조형 ⭕, 기본형 ❌)
  • 객체는 선언만으로 메모리 할당을 못받는다.
  • 데이터를 저장하려면 메모리 할당을 해야 한다.
  1. 클래스 객체를 생성 후, 객체의 주소를 참조 변수에 저장
abc = new Alpabet();

variable = new 기본 생성자

  • new 연산자는 메모리 할당 연산자
  • 객체를 생성 후 객체의 주소를 리턴
  • 메모리 할당 (객체 → 인스턴스)
  • 객체가 메모리에 할당된 것이 인스턴스
  1. 두 과정을 한번에 작성
Alpabet abc = new Alpabet();

객체의 사용

abc.name = "onetwotree";
abc.print();

instance . memberVariable = “value”;

instance . method;

  1. 변수 사용
  2. 메서드 호출 사용

Gabage Collector

  • 메모리를 주기적으로 확인
  • 사용하지 않는 객체를 자동 제거
  • 메모리가 불필요하게 사용되는걸 막아준다.

객체 배열 (참조 변수 배열)

Alpabet abc1, abc2, abc3;
Alpabet [] alpaArr = new Alpabet[3]; // 객체 배열을 만드는 것
alpaArr[0] = new Alpabet(); // 객체를 만드는 것
Alpabet [] alpaArr = {new Alpabet(), new Alpabet()};
// 객체 배열과 객체를 한번에 만드는 것
  • 여러 참조 변수들로 만든 하나의 배열
  • 객체를 만드는 것과 객체 배열을 만드는 것 혼동 주의
profile
🧑🏻‍💻 Hello World!

0개의 댓글