
API
정해진 약속 같은것임 클라이언트에서 정해진대로 요구를 하면 서버에서는 그에 따른 응답을 돌려주는것
변수
값을 담는 상자변수를 선언할때는 (자료의종류) (변수명[영어,소문자시작,구분은 대문자로]) =값;
Float타입
값뒤에 f를 붙여주고 Long타입은 값뒤에 L을 붙여준다
배열만들어주기
List<String[TYPE]> myList(name) = new ArrayList<>();
배열은 순서가 중요하고 , 같은자료형만 넣을수있으며 ,넣을때는 add 조회할때는 get, 제거할때는 remove를사용한다.
Ex) myList.add(추가할려는 변수명)
Ex) System.out.println(myList.get(1)); (myList의 1번쨰 인덱스에있는 애를 꺼내겠다)
Ex) myList.remove(1); (1번째 인덱스값 삭제)
public (반환타입) 메소드명(파라미터)
// 명령내용
retuen(반환값)
반복적인 행동을 줄여서 어디든 갖다쓸 수있는 명령 모음
내가 명령을 내릴 것들의 모음에 이름을 붙여서 사용을하는것
메소드가 없을떄
public class Prac {
public static void main(String[] args) {
String title = "웹개발의 봄 Spring";
String tutor = "DaeRyun";
int weeks = 5;
float ratings = 5.0f;
System.out.println("제목:" + title);
System.out.println("튜터:" + tutor);
System.out.println("주차:" + weeks);
System.out.println("별점:" + ratings);
}
}
public class Prac {
public static void printInfo() { //메소드 시작
String title = "웹개발의 봄 Spring";
String tutor = "DaeRyun";
int weeks = 5;
float ratings = 5.0f;
System.out.println("제목:" + title);
System.out.println("튜터:" + tutor);
System.out.println("주차:" + weeks);
System.out.println("별점:" + ratings);
} //메소드 끝
public static void main(String[] args) {
printInfo();
printInfo();
printInfo();
printInfo();
printInfo();
}
}
(영어사용 , 시작은 소문자시작 ,공백없어야함,단어의뜻이 바뀌면 대문자로 시작해줘서 구분)
클래스 안에만 작성을 해야한다.
메소드에 리턴(반환값)이 없으면 void(아무것도 안돌려준다,비었다는 의미)를 써준다
반환값이 있으면 값을돌려줄 자료형을 써준다
메인함수안에서 메소드 실행을 하려면 메소드에static이라는 글자가 반드시 들어와야함
EX)
public class Prac {
// 파라미터 X, 반환값 X
public void simplePrint() {
System.out.println("파라미터도 없고, 반환값도 없어요!");
}
// 파라미터 O, 반환값 X
public static void simpleSum(int num1, int num2) {
System.out.println("num1 :" + num1 + ", num2: " + num2);
}
// 파라미터 X, 반환값 O
public static int simpleReturn() {
return 3;
}
// 파라미터 O, 반환값 O
public static int sum(int num1, int num2) {
return num1 + num2;
}
public static void main(String[] args) {
simplePrint(); // 메소에 static이없기때문에 에러뜸
int ret1 = simpleReturn();
System.out.println(ret1); //3 출력
int ret2 = simpleSum(10,10); // 메소드에 리턴값이 없어서 에러발생
System.out.println(ret2);
int ret3 = sum(3,4);
System.out.println(ret3); // 7을 출력
}
}
for (시작 조건; 계속하는조건 ; 더하기) {
명령
}
for (int i=0; i<fruits.size(); i++) {
String fruit = fruits.get(i);
System.out.println(fruit);
}
int age =19;
if (조건) {
명령문
} else if (조건) {
명령문2
} else {
명령문
}
int age = 34;
if (age > 19) {
System.out.println("성인입니다.");
} else if (age > 50) {
System.out.println("장년");
} else {
System.out.println("미성년자입니다.");
}
public class Prac {
public static int countFruit(String fruit) {
List<String> fruits = new ArrayList<>();
fruits.add("감");
fruits.add("배");
fruits.add("감");
fruits.add("딸기");
fruits.add("수박");
fruits.add("메론");
fruits.add("수박");
fruits.add("딸기");
fruits.add("메론");
fruits.add("수박");
fruits.add("메론");
fruits.add("수박");
fruits.add("감");
int cnt =0;
for (int i=0; i<fruits.size(); i++) {
String f = fruits.get(i);
if ( f== fruit(입력한과일문자)) {
cnt++;
}
}
return cnt;
}
public static void main(String[] args) {
int gam = countFruit("감");
int subak = countFruit("수박");
int stra = countFruit("딸기");
System.out.println(gam); // 3 출력
System.out.println(subak); // 4 출력
System.out.println(stra); // 2 출력
}
}
클래스
클래스는 정보를 묶는것 , 클래스의이름첫글자는 대문자로 지어져야한다.
가져오는 클래스 메소드에는 리턴값이없다.
객체지향 프로그래밍 : 조금 더 프로그래밍을 현실 세계에 빗대어 체계적으로 해보자는 발상
현실과 비슷한 개념(객체를) 나타내기 위한 자바의 도구를 클래스라고한다.
클래스 내 정보를 멤버 변수라고함
앞에 클래스명을 써주고 new 클래스명();
Course course = new Course();
// 클래스명 변수명 클래스 이름(생성자)


생성자(빵틀)을 이용하여 변수(빵)들을 여러개 만드는것을 클래스를 활용한다고 한다
위에는 빵을 하나하나만들고 빵 값 하나하나를 부여했다면
처음부터 빵에 이름을 부여할수있는 방법 : 생성자를 만들어준다
생성자는class 이름이랑 메소드이름을 똑같이 써야한다
// 기본생성자(아무것도 없는거)
public Course() {
}
// 생성자
public Course(String title ,String tutor , int days){
this.title =title;
// this.title은 필드 title을 말하고 =title은 매개변수를 뜻한다. 즉매개변수의 값을 필드에 대입하라는의미
this.tutor =tutor;
this.days =days;
}
기본생성자가 없으면 에러남, 하지만 자바에서는 기본생성자가 입력되있지 않으면 자동으로 만들어준다
생성자를 추가로 하나라도 더 만들면 기본생성자가 없는걸로 취급이된다. 그래서 생성자를 추가로 만들면 기본생성자를 같이 넣어줘야한다
생성자로 가져오는 클래스 메소드에는 리턴이 없다
생성자의 역할은 객체가 될때 필드를 초기화하는것임
this는 자기자신을 참조하는 키워드
public 리턴타입 메소드명(재료) {
명령
}
public void setTitle(String title) {
this.title =title;
// 내 변수에 title은 전달받은 title로 바꾸겠다
}
//Getter
public 반환타입 메소드명(재료) {
명령
return 반환값;
}
//Getter
public String getTitle() { //그냥 가져오면 되기때문에 파라미터는 필요없음
return this.title;
}
서버의 응답이 JSON형식임을 나타냄
HTML ,CSS 등을 주고 받을 때는 Rest를 붙이지 않습니다
자동응답기
서버가 있고 클라이언트가 있을 때 서버가 뭔가 요청하면 받는 녀석이있다 그리고 그 응답을 받고 돌려주는 제일 앞에있는 녀석임
멤버변수는 선언위치가 클래스 영역이고 지역변수의 선언위치는 메소드나 생성자 내부입니다.
클래스변수는 static이붙음
인스턴스 변수는 객체 생성을 해야 사용가능하다