contents
자바개념정리
--------------------------------------------------------
변수: 데이터를 담는 상자
변수의 종류: 전역변수, 지역변수
전역변수: 클래스의 자식
지역변수: 메서드의 자식
전역변수를 상태로 구분:
1)static(클래스) 타입
1.로딩전 객체가 생성됨
2. 클래스이름.변수,함수()
3. 1개만 존재가능
2)인스턴스 타입
1.로딩후 객체가 생성됨(new)
2. 참조변수이름.변수,함수()
3. n개 존재가 가능
지역변수를 역할로 구분: 1)일반변수 2)매개변수
데이터의 종류: 정수(10), 실수(3.14f), 논리(ture), 문자('a'), 참조("abcd")
데이터 타입: 정수형 | int 이름 = 2;
실수형 | float 이름 = 3.14f;
논리형 | boolean 이름 = ture;
문자형 | char 이름 = 'a'; -> char은 숫자이기도 함
참조형 | 클래스이름 이름 = new 생성자();
*클래스이름함수 = 생성자
형변환: 데이터를 다른 변수로 이동시 발생
형변환 종류: 자동형 변환, 수동형 변환
자동형변환: 1.왜곡이 없어야 됨 2.같은 타입에서 크기가 커야 됨
정수->실수(o)
문자->정수(o)
문자->실수(o)
논리(x)
그 외(x)
수동형변환(Casting): 1.왜곡을 감수하고 진행함
정수->문자(o)
실수->문자(o)
실수->정수(o)
논리(x)
그 외(자동 형변환)
*실수를 문자로 변환: 소수점 제외하고 정수의 값으로
연산자
산술연산자: +, - , *, /, %, ++, --
정수
실수
문자
비교연산자: >, <, >=, <=, ==, !=, !
정수 | 정수
실수 | 실수
문자 | 문자
대입연산자: =
1.대입연산자의 오른쪽의 값을 왼쪽의 변수에 덮어씀
2.제일 마지막에 실행됨
논리연산자
&&: 곱하기
|| : 더하기
결과값이 1이면 ture, 0이면 false
최우선 연산자
1. [ ]: 대괄호 변수의 묶음 -> 배열
2. { }: 중괄호 내용을 표시할 때; (세미콜론)대신 사용 -> 영역표시 우선순위아님(참고)
3. ( ): 소괄호 수동형변환, 우선연산범위, 함수이름
4. .: 객체(클래스)안에 .앞에는 클래스를 뜻하는 참조변수 혹은 클래스이름만 올 수 있음
제어문
조건문
if문
1.연산의 결과값이 true/false
2.범위값을 설정하여 동작
1)
if(조건식) { }
1. 데이터검증 : 변수에 값이 (not null)있는지 없는지(null) 검사시 주로 사용
2. 특정 데이터 값과 같은지 검사해서 동작할 때 사용(switch와 유사)
2)
if(조건식) { }
else{ }
1. 선택지가 2가지일때 사용할 수 있음. 특히 값과 일치할때는 Switch와 구조가 유사해질수 있고 보통은 범위 ~보다 크고 작다면 else와 같은 방식으로 동작함
3)
if(조건식) { }
else if( ) { }
else{ }
1. 범위를 세분화해서 다구간으로 선택해서 사용할 수 있음
switch문
1.연산의 결과값이 숫자일때
2. 특정값에 매치되어 동작
반복문
for
1. 몇번반복
1)초기값
int i=0;
2)조건식
i<10
3)증감식
i++
while
1.조건만족
1)조건식
i<10
continue
1. 현재작업을 종료
처음부터 다시
2. 변수의 값이 잘못되었다고 판단될 경우 다시 시작하여 값을 재조정
break
1. 반복문 종료
배열
변수의 묶음
1.변수의 이름 혹은 데이터 타입 [ ]표시로 사용
2.여러개의 변수가 하나의 이름을 아래와 같이 사용함
String[ ] Students = new String[3]; 객체생성을 해야함
int a; a = 3;
1. int [ ] a = new int[3]; a[0] 3;
2. int [ ] a = {1,2,3}; a[0] 호출
클래스: 문서의 단위, 설계도임. 객체생성을 통하여 설계도는 객체가 됨
함수 : 데이터를 실행하는 기능단위
함수의 종류: 일반함수, 생성자
1.일반함수 :
1)이름() {}
2)리턴 데이터 타입 : 정수형, 실수형, 문자형, 논리형, 참조형
int 이름(){return 9;}
3)
int 이름(){return 9;} 인스턴스 |
Static static int 이름(){ return 9; } |
1.로딩후 객체가 생성됨(new) 2. 참조변수이름.변수,함수() 3. n개 존재가 가능 |
1.로딩전 객체가 생성됨 2. 클래스이름.변수,함수() 3. 1개만 존재가능 |
4)
접근제어자 public static int 이름(){ return 9; } |
public 1. 어떤 패키지에서든지 접속이 가능함 |
protected 1. 같은 패키지만 가능 2. 상속받은 클래스가능 |
|
default(생략) 1. 같은 패키지만 가능 |
|
private 1. 같은 클래스만 가능 2. getter / setter를 전역변수를 위해서 사용해야됨 |
5) 매개변수
1.전달되는 파라미터를 수신하는 변수
2.지역변수로 취급됨
오버로딩
1. 같은이름의 함수가 여러개
2. 매개변수의 갯수 , 데이터타입
3. 주로 생성자에서 많이 사용
2. 생성자 :
1)클래스이름(){} -> 전역변수의 값을 넣어서 객체 생성
2)리턴 데이터 타입 없음
3)인스턴스 static 없음
4)접근제어자
public 클래스이름( ){
}
5) 매개변수
1.전달되는 파라미터를 수신하는 변수
2.지역변수로 취급됨
오버로딩
1. 같은이름의 함수가 여러개
2. 매개변수의 갯수 , 데이터타입
3. 주로 생성자에서 많이 사용
*일반함수 만드는 순서
1) 이름( ) { } 2) int 이름( ) { return 9;} 리턴 데이터 리턴 타입모르면 void 3) 인스턴스/static 인스턴스: 정자(△) static: 이탤릭체(s△) 4) 접근제어자 import: public(o) 없으면 그 외 default... 5) 파라미터: 전달값 |
순서: static void manual(파라미터) 4) 3) 2) 1) 5) |
상속과 다형성
클래스
↓ 확장
상속 1. 특정클래스를 지정하여 소속된 함수와 변수를 자기것과 같이 사용하는것 2. 오직 하나의 클래스만 허용됨 ↓ |
super() 1. 부모클래스의 생성자 공통 |
인터페이스 ↓ |
오버라이딩 1. 부모의 함수를 자식이 재정의하는것(리모델링) 2. 자식의 함수가 더욱 높은 우선순위를 가짐 |
→ | 다형성 : 참조변수 1. 전달받는 매개변수를 그룹화시켜서 코드를 줄일수 있음 2. 부모타입의 참조변수에 자식클래스객체를 담을 수 있음
3. 부모클래스에서 자식클래스함수가 없다면 접근할 수 없음 |
'프로그래밍 > java' 카테고리의 다른 글
JAVA 프로그래밍 51일차 (25/1/22) (2) | 2025.01.22 |
---|---|
JAVA 프로그래밍 50일차 (25/1/21) (0) | 2025.01.21 |
JAVA 프로그래밍 48일차 (25/1/17) (0) | 2025.01.17 |
JAVA 프로그래밍 47일차 (25/1/16) (2) | 2025.01.16 |
JAVA 프로그래밍 46일차 (25/1/15) (0) | 2025.01.15 |