클래스 : 객체를 생성하는 템플릿이다 / 객체의 공통된 변수,메소드로 구성됨
학교에 다니는 학생들을 객체로 표현하고싶다면, 학생이라는 공통적인 특성으로 묶어! 이 학생의 속성은 무엇인가? -> 이름,나이.학번.학과 등!!
이렇게 되면 추상적 클래스 하나 만든셈이야~
‘학생’이라는 공통된 변수에
‘이름,나이,학번,학과’ 이런 클래스를 틀삼아 객체를만든다!
package 패키지명;
import 패키지명;
접근제한자3) 지정예약어4) class 클래스명 extends 상위클래스(상속6) implements 상위인터페이스 {
멤버필드 1)
멤버메소드 1)
생성자 2)
중첩클래스 5)
} 6)상속 / 7)다형성 / 8)추상화 9)인터페이스 /
또다른 클래스....
(클래스 바깥에 올수있는거 - 패키지명, import~,또다른클래스)

변수: 변수 왜 만들어? -> 특정한 데이터를 저장하기 위해서 !!
배열: 동일한 자료형, 동일한 목적을 관리하기 위해 !@ 묶어서 관리하려고
구조체 : 서로 다른 자료형을 하나로 묶어서 관리 ! => 사용자정의자료형
클래스 : 선언부(멤버필드) + 실행부(멤버메소드)로 이루어진 자료형
자바는 클래스 안에 구조체가 있음 다 들어있음 그래서 구조체라는 말안씀 그냥 클래스 불러서 써
/*
자료형이 다른 애들도 묶어서 관리하고 싶으면?
성적구하기{
*선언 -> 멤버 필드(변수) / 어떤자료형을 선언하는거
-이름
-국어
-영어
-총점
-순위
*실행 -> 특별한 값을 실행시키는거 / 멤버 메소드(자료형아님)
-총점구하기 { 총점 = 국어 + 영어 } => 특정한거를 실행시켜서 총점만들어짐
=>
-출력하기 {이름,총점,순위를 출력}
}
묶으면 좋은데 / 이름하고 나머지 숫자들 은 자료형이 달라 인트랑 스트링!
서로다른 자료형을 하나로 묶어서
프로그램을 만들때마다 내가 정해줘야함(뭔솔?)
내가 만들어놓고 필요할때마다 가져다 쓰겠다(임포트) */
1. 멤버필드 : 클래스 내에 사용할 변수 선언
접근제한자 지정예약어 자료형 필드명;
2.멤버메소드 : 클래스 내에서 실행부(기능)을 만들때 사용
접근제한자 지정예약어 반환형 메소드명(매개변수){
return 반환값;
}
변수선언 / 담을 그릇을 미리골라 미리 크기를 정함 그래서 자료형이 먼저있어야함
자료형 + 변수명을 적음
메소드도 마찬가지
자료형(반환형,반환할 그릇을 알려줘) 메소드명() {
// 메소드가 실행되고 나갈 자료형
int aaa() {
//ㅁㅔ소드를 실행해서 리턴해주려고 하는 값
반환형: 메소드 실행 결과를 돌려줄 값의 자료형
void (나 반환할거 없어! -> 알려주는 자료형/
반환할값없ㅇ므알려주는자료형)
-반환이란 말의 return을 써도 되고 안써도된다. 단,쓸대는 값을 절대 넣어선 안된다.
기본자료형 (boolean~double)
class 타입(사용자정의자료형)

요렇게 응용 가능합니다.