객체(Object)
어떠한 사물을 속성으로 나타내거나, 행동이나 동작, 등을 단순화 시킨것을 객체 라고한다.
이해하기 힘드니 한 사람을 객체로 나타낸다고 하면
사람의 이름,나이,성별 같은것을 속성값으로 나타내주고, 사람이 자거나 밥먹는것 똥싸는것을 동작으로 나타내어서 만들어 주는것이다.
속성은 필드(field)
동작은 메소드(method)
라고 불러준다.
클래스(Class)
클래스는 자바에서 설계도와 같다. 클래스에서는 객체를 생성하기 위한 필드와 메소드를 정의하고,
클래스로 만든 객체를 인스턴스 라고한다. 인스턴스는 힙 영역에 저장된다.
클래스를 선언하는 방법은
public class 이름{
}
이런식으로 main을 선언하는것과 비슷하게 만들어준다.
이름은 첫문자는 대문자를 사용해주는게 관례이고, 클래스이름은 한글로도 생성이 가능하다.
(실제로는 인코딩문제도 있고, 한글은 잘 사용하지 않는다.)
클래스는 3가지로 나뉘어져있다. 필드와, 생성자, 그리고 메소드로 이루어져있다.
필드(field)
필드는 객체의 상태 정보를 저장하는 곳이다. 변수처럼 선언을 해주는데, 이 것은 변수라 부르지 않고 필드라고 한다.
필드는 변수와는 다르게 생성자와 메소드 전체에서 사용되고, 객체가 있는한 계속 존재한다.
메소드(method)
객체의 동작에 해당하는 영역이다. 중괄호로 이루어져있고, 메소드를 부르면 중괄호 안의 코드를 실행한다.
메소드는 객체간의 데이터를 전달해주기도 하고, 다양한 동작들을 수행해줄 수 있다.
생성자(constructor)
new 연산자로 호출되는 것, 생성자의 역할은 객체를 생성할 때 초기화를 담당해준다.
클래스를 만들 때 생성자에 대해 써주지 않으면 default 생성자가 생성된다. (클래스 이름과 같아진다.)
'language > java' 카테고리의 다른 글
14. [java] 열거 타입 (0) | 2021.06.21 |
---|---|
13. [java] 배열 (Array), 2차원 배열 (0) | 2021.06.18 |
12. [java] 참조 타입과 참조 변수, string 타입 (0) | 2021.06.17 |
11. [java] break, continue문 , label (0) | 2021.06.15 |
10. [java] 반복문 for,while, do-while문 (0) | 2021.06.15 |