etc/Language

[Java] 개념 구분

whtRy0u 2025. 1. 28. 18:15

Object, 객체 VS Class, 클래스

Object, 객체
특정 실체를 객관화하여 인식하거나 이해하는 대상
데이터와 동작을 하나의 단위로 구조화, 구체적 · 추상적 데이터의 단위
 
Class, 클래스
객체를 생성하기 위한 설계도 · 청사진
→ 데이터 구조화 · 해당 데이터 관련 메소드 포함
변수와 메소드로 구성
 

Function, 함수 VS Method, 메소드

Function, 함수
하나의 기능을 수행하는 일련의 코드
 
Method, 메소드 = 멤버 함수
객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수
 

Instance, 인스턴스

클래스 기반으로 생성된 객체, 각각 다른 멤버 변수의 값을 가질 수 있음
→ Heap 영역에 할당 됨
* Java에서는 Gabage Collector가 주기적으로 사용하지 않는 메모리 수거
 

Constructor, 생성자

객체가 생성될 때 호출되는 메소드

class Person {
	String name;
    int age;
    Person(String name, int age) {
    	// 변수 초기화
    	this.name = name;
        this.age = age;
    }
}

public static void main(String[] args) {
	Person person = new Person("Allo", 20);
    	// new와 함께 생성자 Person 호출
}

 
생성자는 반환 값X, 생성자는 클래스명과 동일
 
Default Constructor, 기본 생성자
클래스에는 반드시 적어도 하나의 생성자가 존재해야 함. 클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성자 Person 호출 가능 → 컴파일러가 생성자 코드를 넣어주기 때문
 
Constructor Overloading, 생성자 오버로딩
생성자를 구현해서 사용할 수 있음. 그러나 생성자를 구현하면 기본 생성자는 제공되지 않음