728x90
객체(Object)
- 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지며 식별 가능한 것
- 속성 (필드(field)) + 동작(메서드(method))로 구성
객체와 객체 간의 상호작용
- 메서드를 통해 객체들이 상호작용
- 메서드 호출 : 객체가 다른 객체의 기능을 이용하는 것
int result = Calculator.add(10, 20);
리턴한 값을 int 변수에 저장
사람(객체)이 계산기(객체)의 더하기 (메서드) 기능을 이용할 때 위해서는 메서드를 호출하여 전자계산기에서의 리턴 값을 전달해준다.
객체 간의 관계
집합 관계
- 부품과 완성품의 관계
사용 관계
- 객체 간의 상호작용
상속 관계
-상위(부모) 객체를 기반으로 하위(자식) 객체를 생성
클래스 (class)
- 자바의 설계도
-
인스턴스 (instance): 클래스로부터 만들어진 객체
- 객체지향 프로그래밍 단계 (클래스 설계 -> 클래스로 객체 생성 -> 객체 이용)
클래스 선언
객체 구상 후 클래스 이름을 결정
식별자 작성 규칙에 따라야함
Calculator, Car, Member, ChatClient, ChatServer, Web_Browser 등
- 하나 이상의 문자로 이루어질 것
- 첫 글자에는 숫자 올 수 없음
- $, _ 외 특수 문자는 사용할 수 없음
- 자바 키워드는 사용할 수 없음
'클래스 이름.java'로 소스 파일 생성
public class 클래스이름 {
}
클래스로부터 객체를 생성
- new 클래스();
- new 연산자로 메모리 힙 영역에 객체 생성
- 객체 생성 후 객체 번지가 리턴(클래스 변수에 저장하여 객체 사용 가능)
클래스 변수;
변수 = new 클래스();
(클래스 타입으로 변수 선언 후 new 클래스(); 를 이용해 객체를 변수에 저장한다)
public class Student {
}
public class StudentExample {
public static void main(String[] args) {
Student s1 = new Student();
System.out.println("s1 변수가 Student 객체를 참조")
Student s2 = new Student();
System.out.println("s2 변수가 또 다른 Student 객체를 참조")
}
}
클래스의 두 용도
라이브러리(API : Application Program Interface) 클래스
-객체 생성 및 메서드 제공 역할 -Student.java
실행 클래스
-main() 메서드 제공 역할 - StudentExample.java
클래스 멤버
'JAVA > 혼자공부하는자바' 카테고리의 다른 글
[JAVA] 메소드(Method), 리턴(return) (0) | 2021.02.11 |
---|---|
[JAVA] 클래스란? (1) | 2021.02.10 |
[JAVA 기초] 열거 타입 (0) | 2020.12.17 |
[JAVA 기초] 자바 배열 4(객체를 참조하는 배열, 배열 복사, 향상된 for문) (0) | 2020.12.17 |
[JAVA 기초] 자바 배열 3 (다차원 배열) (0) | 2020.12.17 |