클래스와 데이터

0taetae·2025년 1월 18일
post-thumbnail

✏️ 클래스가 왜 필요할까?

  1. 코드의 구조화와 재사용성
  2. 객체 생성의 틀(설계)의 역할
  3. 캡슐화와 정보 은닉
  4. 상속과 다양성 구현
  5. 프로그램의 유지보수성과 확장성 향상

✏️ 클래스는?

클래스에 정의한 변수들을 멤버 변수 또는 필드라고 한다.
클래스는 관례상 대문자로 시작하고 낙타 표기법을 사용한다. (ex. Student, MemberService)

✏️클래스와 사용자 정의 타입

  • 타입은 데이터의 종류나 형태를 나타낸다.
    • int는 정수 타입, String은 문자 타입이다.
  • 클래스를 사용하면 타입을 직접 만들 수 있다.
  • 사용자가 직접 정의하는 사용자 정의 타입을 만들려면 클래스가 필요하다.
  • 클래스를 사용해서 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라 한다.

✏️객체의 참조값

Student student = new Student();

이와 같이 new 키워드를 통해 객체가 생성되고 나면 참조값을 반환한다.
즉, 객체를 생성하면 메모리에 있는 객체에 접근할 수 있는 참조값(주소)를 반환한다.
위와 같이 객체를 생성하면 이 변수객체의 참조값을 가지고 있다.
참조값을 변수에 보관하면 변수를 통해 객체를 접근(참조)할 수 있다.

✏️객체 사용

클래스를 통해 생성한 객체를 사용(대입, 읽기)하려면 먼저 메모리에 존재하는 객체에 접근해야 한다.
객체에 접근하려면 .(dot) 키워드를 사용하면 된다.

✏️클래스 vs 객체 vs 인스턴스

  1. 클래스
    • 객체를 생성하기 위한 틀 또는 설계도
    • 객체가 가져야 할 속성(변수)과 기능(메서드)를 정의한다.
  2. 객체
    • 클래스에서 정의한 속성과 기능을 가진 실체
    • 객체는 서로 독립적인 상태를 가진다.
  3. 인스턴스
    • 특정 클래스로부터 생성된 객체
    • 주로 객체가 어떤 클래스에 속해 있는지(관계) 강조할 때 사용한다.

💡student는 객체이고, student는 Student의 인스턴스이다.

✏️배열

배열을 사용하면 특정 타입을 연속한 데이터 구조로 묶어서 편리하게 관리할 수 있다.

배열 생성 후에는 아직 참조값을 대입하지 않았기 때문에 null 값으로 초기화된다.(참조값이 없다는 의미)
💡대입을 하면 배열에는 복사한 참조값이 저장된다.
배열에 들어있는 객체를 사용하려면 먼저 배열에 접근하고, 객체에 접근하면 된다.

참고자료

  • 김영한의 실전 자바 - 기본편

0개의 댓글