Java 클래스 사용
클래스 사용
class Exam {}
- class + 새 데이터 타입 이름
- 무조건 대문자로 시작한다
- 여러 단어가 결합된 이름인 경우 각 단어의 시작도 대문자로 작성한다
- 가급적 명사형으로 적는다
- 클래스 정의
class Score {
new 명령을 실행할 때 생성
-------------------------
String name;
int kor;
int eng; 인스턴스 필드 field
int math;
int sum;
float aver;
-------------------------
}
- 레퍼런스 선언
Score obj;
<— score의 인스턴스 주소를 저장할 변수(reference)- 여기서 obj는 reference 임으로 객체의 주소만 넘겨받는다
- 메모리는 준비 안된상태 따로
new
명령을 사용해야한다
- 인스턴스 생성
obj = new Score();
<— 설계도에 따라 변수를 만드는 명령
- obj 인스턴스(객체)의 필드 값 설정
obj.name = "홍길동";
<— obj는 객체가 아님 (reference)
필드 접근
Score s1 = new Score();
s1.name = "홍길동";
- 메모리를 만들고 메모리 주소를 받아서 메모리 주소를 통해 필드에 접근
- 변수를 만들고 변수주소를 받아서 변수 주소를 통해 필드에 접근
- 인스턴스를 만들고 인스턴스 주소를 받아서 인스턴스 주소를 통해 필드에 접근
- 객체를 만들고 객체 주소를 받아서 객체 주소를 통해 필드에 접근
리팩터링 Refactoring
eclipse com.eomcs.oop.ex02.test
0) 낱개 변수 사용
1) 성적 데이터를 저장할 사용자 정의 데이터 타입을 만든다.
2) 리팩토링: 메서드 추출(extract method), static nested class
3) 리팩토링: 메서드 추출(extract method) = 한 개의 메서드는 한 개의 기능을 수행해야 한다.
4) GRASP(General Responsibility Assignment Software Patterns) 패턴
5) 인스턴스 메서드: 인스턴스 주소를 받는 더 쉬운 문법
6) 패키지 멤버 클래스: 여러 곳에서 사용할 클래스라면 다른 클래스에 안에 두지 말고 패키지의 멤버 클래스로 둬라
7) 클래스를 역할에 따라 패키지로 분류
8) 생성자 도입: 인스턴스를 생성할 때 값을 초기화시키는 특별한 메서드
Leave a comment