Study/JAVA

[JAVA] 6장 - 클래스와 객체

오구민 2022. 9. 30. 14:36

고등학생 때 JAVA를 배웠지만, 시간이 시간이니 잊어버린 게 태산이다.

알고 있는 것보다 개념이 희미해진 것부터 정리하기로 했다.

그게 바로 6장 클래스와 객체다.

 

 

1. 개념 공부하기

1.1 절차지향과 객체지향

  • 절차지향 : 순서에 맞게 단계적으로 실행하도록 명령어를 나열하는 방법
  • 객체지향 : 객체를 생성하고 각 객체에 포함된 데이터와 기능을 상호 호출함으로써 프로그램을 구성

 

1.2 자바의 객체지향 문법 요소

  • 클래스 : 일반 클래스와 추상 클래스로 나뉘어짐
  • 인터페이스

 

1.3 클래스의 구조

  • 외부 구성 요소
    • 패키지 : 맨 첫 줄에 위치해야 함
    • 임포트 : 다른 패키지의 클래스를 사용하고자 할 때 포함됨
    • 외부 클래스 : 클래스의 외부에 또 다른 클래스가 또 포함될 수 있음
  • 내부 구성 요소
    • 필드 : 클래스의 특징(속성)을 나타내는 요소
    • 메서드 : 클래스가 지니고 있는 기능(함수)을 나타낸다.
    • 생성자 : 클래스의 객체를 생성하는 역할
    • 이너 클래스 : 클래스의 내부에도 클래스가 포함될 수 있다.

 

1.4 클래스와 객체 구분하기

이 책은 붕어빵 이야기를 정말 자주하는데... 붕어빵에 비유하자면 클래스와 객체는 이러한 개념이라고 한다.

클래스로부터 객체를 생성하는 방법객체를 활용하는 방법
-> 붕어빵 기계에서 붕어빵을 찍는 방법붕어빵을 맛있게 먹는 방법

즉 클래스를 모든 특징(필드)과 기능(메서드)를 사용하려면, 클래스를 이용해 객체를 만들고 그 객체 속의 필드와 메서드를 이용해야 한다는 뜻이다.

 

클래스에서 객체를 만드는 과정은 생성자가 수행한다.

개발 시 주의할 점은 클래스는 바로 사용할 수 없고, 반드시 객체를 생성해 객체 안에 있는 필드, 메서드 및 이너 클래스를 사용해야 한다는 점이다.

아래는 용어다!

  • 인스턴스화 : 클래스의 생성자로 객체를 만드는 과정
  • 인스턴스 : 인스턴스화로 만들어진 객체
  • 인스턴스 멤버 : 객체 속 클래스의 내부 구성 요소 중 생성자를 제외한 나머지 요소

 

 

2. 실습하기!

2.1 객체 생성과 활용

객체는 new 키워드로 생성할 수 있다.

클래스명 참조 변수명 = new 생성자();
A a = new A();

'A() 생성자로 만든 객체를 힙 메모리에 넣고, 위칫값을 A 타입의 참조 변수 a에 저장하라!'라는 뜻이라고 한다.

 

2.2 객체 활용하기

포인트 연산자는 아래와 같이 사용할 수 있다.

참조 변수명.필드명
참조 변수명.메서드명()

실습용 코드는 아래와 같다.

package study_class;

class A {
	int m=3;
	void print() {
		System.out.println("객체 생성 및 활용");
	}
}

public class Class_study {
	public static void main(String[] args) {
		A a = new A(); //객체 생성
		
		a.m = 5; //필드를 활용. 필드에 값을 읽기/쓰기
		System.out.println(a.m);
		
		a.print(); //메서드 활용, 호출!
	}
}

 

 

당혹스럽게 6장은 아주 짧았다...

사실 CSTS를 공부하다가 실습이 있는 JAVA를 보니 너무 재밌다...