코딩 이야기
JAVA 클래스 본문
객체 지향 프로그래밍
객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있으면서 식별가능한 것
객체는 속성과 동작으로 구성되어 있으며 자바는 이 속성과 동작을 각각 필드와 메소드라고 부릅니다.
객체의 상호작용
객체들 사이의 상호작용 수단을 메소드라고 하며 객체가 다른 객체의 기능을 이용하는 것을 메소드 호출이라고 합니다.
메소드 호출
예)
리턴 값 = 전자계산기.메소드(매개 값1,매개 값2, ...) ;
- 객체에 도트(.) 연산자를 붙이고 메소드 이름을 기술하면 됩니다. 도트 연산자는 객체의 필드와 메소드에 접근할 때 사용합니다.
- 매개값은 메소드를 실행하기 위해 필요한 데이터입니다. 예를 들어 10과 20을 주고 더하기 기능을 이용한다고 할 때 10과 20이 더하기 기능의 매개값입니다. 리턴 값은 메소드가 실행되고 난 후 호출한 곳으로 돌려주는 (리턴)값입니다.
객체 간의 관계
객체는 개별적으로 사용될 수 있지만, 대부분 다른 객체와 관계를 맺고 있습니다. 이 관계의 종류에는 집합 관계, 사용 관계 상속 관계가 있습니다.
- 집합 관계에 있는 객체는 하나의 부품이고 하나는 완성품에 해당합니다.
- 사용 관계는 객체 간의 상호작용을 말합니다.
- 상속 관계는 상위(부모) 객체를 기반으로 하위(자식) 객체를 생성하는 관계
객체와 클래스
자바에서의 클래스는 자동차 설계도 입니다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있습니다.
클래스로부터 만들어진 객체를 해당 클래스의 인스턴트 라고합니다.
객체 지향 프로그래밍 개발은 세 가지 단계가 있습니다.
- 1단계는 클래스를 설계합니다.
- 2단계는 설계된 클래스를 가지고 사용할 객체를 생성합니다.
- 3단계는 생성된 객체를 이용합니다
클래스 선언
클래스를 선언하는 방법은 사용하고자 하는 객체를 구상했다면 객체의 대표 이름을 하나 결정하고 이것을 클래스 이름으로 정합니다. 클래스 이름은 다른 클래스와 식별할 목적으로 사용되므로 자바의 식별자 작성 규칙에 따라서 만들어야 합니다.
식별자 작성 규칙
- 하나 이상의 문자로 이루어져야 한다.
- 첫 글자에는 숫자가 올수 없다.
- '$','_"외의 특수문자는 사용할 수 없다.
- 자바 키워드는 사용할 수 없다.
클래스 선언
public class 클래스이름 {
}
public class는 클래스를 선언할 때 사용 (반드시 소문자로 사용)
소스 파일하나당 하나의 클래스선언 하지만 2개이상도 가능하다.
객체 생성과 클래스 변수
클래스로부터 객체를 생성하려면 new 연산자를 사용하면 됩니다. new는 클래스로부터 객체를 생성시키는 연산자
new 연산자 뒤에는 생성자가 오는데, 생성자는 클래스()형태를 가지고 있다. new 연산자로 생성된 객체는 메모리 힙 영역에 생성된다.
클래스 선언
package ch06;
public class Student {
}
클래스로부터 객체 생성
package ch06;
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 객체를 참조합니다.");
}
}
s1과 s2 의 new Student 객체는 독립된 서로 다른 객체이다.
Student와 StudentExample 클래스의 용도
클래스는 두 가지의 용도가 있습니다. 하나는 라이브러리(api)용이고 다른 하나는 실행용 입니다. 라이브러리 클래스는 다른 클래스에서 이용할 목적으로 생성됩니다.클래스가 100개라면 99개는 라이브러리 클래스이고, 단 하나가 실행 클래스입니다. 실행 클래스는 프로그램의 실행 진입점인 main()메소드를 제공하는 역할을 합니다.
Student는 라이브러리 클래스이고 StudentExample은 실행클래스 입니다.라이브러리인 동시에 실행 클래스를 만들 수도 있습니다.
클래스의 구성 맴버
클래스에는 객체가 가저야할 구성 멤버가 선언됩니다. 구성 멤버에는 필드,생성자,메소드가 있습니다.
- 필드(Field) 객체의 데이터가 저장되는 곳
- 생성자(Constructor) 객체생성시 초기화 역할 담당
- 메소드(Method)객체의 동작에 해당하는 실행 블록
'JAVA' 카테고리의 다른 글
JAVA 필드 (0) | 2023.02.07 |
---|---|
JAVA열거타입 (0) | 2023.02.07 |
자바 조건문과 반복문(5일) (0) | 2023.02.02 |
자바 배열 (5일) (0) | 2023.02.02 |
자바 배열 (4일) (0) | 2023.02.01 |