반응형
⬇️ 객체 지향 프로그래밍 1편 보러가기
클래스
멤버변수 + 메서드 (기능)
한 객체의 정보를 묶어서 한 변수에 담도록 타입을 정의한다.
class 클래스명 {
멤버변수 정의;
}
class Test {
int a;
String b;
}
- 타입명 : Test
- Test 타입의 변수는 Int 값 1개, String 값 1개 묶어서 저장한다.
int a;
String b;
void setData( int x, String y){
a = x;
b = y;
}
void printData(){
sysout(”a:” + a);
sysout(”b:” + b);
}
- setter : 파람으로 받은 값을 멤버변수에 할당
- 메서드 타입 void : (파람으로 받은 값을 반환할 필요가 없다)
- sysout : System.out.print 를 편의상 줄여 쓴 것.
객체 생성
값을 저장하기 위해 메모리를 할당한다.
Test t1 = new Test();
t1.setData(5, "qwerty");
Test t2 = new Test();
t2.setData (10, "asdfg");
- '.' : 멤버 접근 연산자
객체 배열
Test [] arr = new Test[2];
arr[0] = new Test ();
arr[0].setData(30, "zxcv");
- Test [] arr = new Test[2]; : Test 객체 배열 여러개 저장하는 방만 생성, Test 객체는 1개도 없음.
- arr[0] = new Test(); : 객체 생성해서 0번째 방에 넣어주고, 테스트 객체 생성해서 배열에 저장
ⓔ 객체 배열 정리 코드
//좌표를 담는 클래스
class Point {
int x;
int y;
void setData(int a, int b) {
x = a;
y = b;
}
void printData() {
System.out.println("x : " + x);
System.out.println("y : " + y);
}
}
public class 객체 배열 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//배열을 생성 => 방 만들어짐. 방만 만들었기 때문에 방 안에는 Point 객체가 없고 모두 null로 초기화됨
Point[] arr = new Point[3];
arr[0] = new Point();
//값을 저장하기 전에 객체를 생성해서 방에 넣어줘야 함.
arr[0].setData(10, 1);
arr[0].printData();
arr[1] = new Point();
arr[1].setData(50, 6);
arr[1].printData();
arr[2] = new Point();
arr[2].setData(4, 30);
arr[2].printData();
}
}
클래스의 역할
카드 : 카드 정보를 담는다 -> VO (Value Object)
mvc 패턴 :
model : business model
view : UI
control : 전체 데이터의 흐름을 컨트롤
Value Object
한 객체의 정보를 묶어서 한 변수에 담는 용도 (캡슐화)
하나의 정보를 담을 수 있는 선까지 만드는 게 좋다.
클래스의 종류
DAO (Databases Access Object)
배열에 데이터 저장, 검색, 수정, 삭제
Service
비즈니스 로직 제공, 사용자에게 제공할 기능 구현
반응형