객체지향 프로그래밍이란? 객체를 정의하고, 각자의 기능들을 구현하며, 필요에 따라 기능 간 객체 간 연결을 구현하는 것이다.
static이란? 여러 객체를 생성했을 때에도 그 고유의 값을 유지할 수 있도록 해준다.
객체지향 프로그래밍 : 객체를 정의하고, 각 객체가 제공하는 기능들을 구현하고, 그 기능 및 객체 간 협력을 구현하는 것
int speed = 100;
--- ----- ----
타입 필드 [ = 초기값 ];
class D1{
int methodA(int i, int j) {
System.out.println(i+", "+j);
return i+j;
}
}
public class DMain {
public static void main(String[] args) {
D1 d1 = new D1();
int i = 1;
int j = 2;
int hap = d1.methodA(i, j); // 1, 2
System.out.println(hap); //3
}
}
public void changeArray(int[] arr) {
arr[0] = 10;
}
int[] numbers = {5, 6, 7};
changeArray(numbers);
System.out.println(numbers[0]); // 출력: 10
학습이유?
1. 기능처리 위한 클래스
2. 데이터셋을 위한 클래스 - 복습 단단히 할 것
3. 블릿←JSP학습 - Web기반 서비스 - Url 이용 - 네트워크프로그래밍(소켓) - main없음
1. 모바일(앱)
→ 하이브리드 앱 개발 - 함수형프로그래밍언어 대세(자바에서도 람다식, 화살표함수 생김)
정적멤버(static)
여러개의 객체를 생성했을 때 고유의 값이 유지되도록 설정할 수 있음.
예시 : static 변수를 활용한 인스턴스 생성
public class Car {
private int carNum;
public Car() {
CarFactory.serialNum++; //스태틱인 serialNum을 사용할 수 있음 . 이를 재정의 및 치환하여 사용
carNum = CarFactory.serialNum; //치환
}
public int getCarNum() {
return carNum;
}
public void setCarNum(int carNum) {
this.carNum = carNum;
}
}
class G{
int i = 1;
static int j = 10;
}
public class GMain {
public static void main(String[] args) {
//여러개의 인스턴스가 하나의 전변을 공유하고 싶다면 static으로 한다.
G g = new G();
System.out.println(g.i); //1
System.out.println(G.j); //10
g.i++;
G.j++;
g = new G();
System.out.println(g.i); //1
System.out.println(G.j); //11
g.i++;
G.j++;
g = new G();
System.out.println(g.i); //1
System.out.println(G.j); //12
}
}