넓은 의미로 우리가 실생활에 쓰는 모든 것을 의미한다.
프로그래밍에서의 객체는 속성과 기능을 가지는 프로그램 단위다.
객체지향 프로그래밍에서는 클래스의 인스턴스를 의미한다.
객체를 만들어 내기 위한 설계도 혹은 틀
연관되어 있는 변수와 메소드의 집합
특정 작업을 수행하기 위한 명령문의 집합
클래스에서 생성된 속성과 함수를 일컫는다.
설계도를 바탕으로 구현된 실체
객체를 실체화 한 것
객체가 생성될때 자동으로 호출되는 특수 목적의 멤버 함수(메소드)로 인스턴스 변수를 원하는 값으로 초기화 하는 것
파라미터라고도 부르며 함수를 호출할 때 아규먼트로 전달된 값을 함수 내부에서 사용할 수 있게 해주는 변수
함수가 호출될 때 함수로 값을 전달해주는 변수
클래스의 내부 멤버로 데이터를 저장하기 위한 역할을 담당. 멤버변수라고도 불리며 클래스 내부의 생성자와 메소드 밖에 정의된다.
필드와 접근자를 통칭하는 것
public class Mouse {
String name;
int price;
public Mouse(String name, int price) {
this.name = name;
this.price = price;
}
public void leftClick(){
....
}
public void rightClick(){
...
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
public class Main {
public static void main(String[] args) {
Mouse mouse = new Mouse("로지텍 MX Anywhere 3", 1000);
}
}
실제 마우스를 객체로 만들어서 사용하고 싶다. 그러기 위해서 Mouse 클래스를 만들어서 객체를 만들 틀을 만든다. 클래스 내에는 해당 객체를 구성하는 멤버들이 있다. 왼쪽, 오른쪽 클릭 작업을 수행시키게할 leftClick, rightClick 메소드와 프로퍼티를 가진다. 프로퍼티에는 마우스 이름과 가격을 저장하는 필드와 getter/setter가 있다.
해당 마우스를 객체로 사용하기 위해서 클래스를 인스턴스로 만든다. 인스턴스로 만들때 이름(로지텍 ~)과 가격(1000) 아규먼트를 넘기면 생성자에 정의된 파라미터 값으로 설정되고 생성자가 실행된다.