verify - exam02
Member : 생성자함수
MemberApplication
verify - exam03
Board
BoardApplication
sec04 - exam01
함수(메소드) 사용법 : return 사용하는 함수, return 사용하지 않는 함수(void 변수명( ) { })
1단계) 전원 켜기, 전원 끄기
return 없으면 실행 클래스에서는 그냥 함수적고 출력만 하면 값이 바로 나옴
Calculater
자바에서 함수 만드는 법
CarculaterApplicatoin
2단계) return 있는 함수 : 덧셈
return 있으면 실행 클래스에서 값을 넣음
Calculater
return : 함수 안에서 계산되어진 결과를 밖으로 내보냄
println 출력함수로 결과를 밖으로 내보냄
int plus ( 매개변수 ) { }
CalculaterApplication
3단계) return 있는 함수 : 뺄셈, 나눗셈
Calculater
int 대신 double 을 써도 됨
CalculaterApplication
sec04 - exam02
매개변수로 배열전달하기
Computer
예제 1 : [ ] 사용
ComputerApplication
여기서 int [ ] val = {1, 2, 3} 을 {1, 2, 3, 4, 5} 로 바꿔도 결과값이 바로 나옴
Computer
예제 2 : ... 연산자(참고)
ComputerAppliation
sec03 - exam03
#1 배운걸 토대로 프로그램 설계하기 : 이게 전형적인 객체지향 코딩
(함수, 속성 만들고 다른 클래스에서 불러오기)
필요한 속성필드 작성 (int gas)
Car
CarApplication
sec04 - exam04
#2 객체지향 2번째 사례 ( 미리 다 제작하고 실행 클래스에서는 깔끔하게 작성)
속성 없이 매개변수만 사용
Calculator
덧셈, 평균, (평균 + 간단한 인사말) 특수 기능
속성값을 안 적고 매개변수로 쓸때 : 그 함수 안에서 사용할경우에 쓰기
여기 있는 int x, int y는 실행 클래스에서 쓰이는것도 아니며, 그냥 plus 라는 함수 안에서만 쓰임!!
plus, avg, print, execute 라는 함수들안에서 쓸거라서 전부다 매개변수로 쓴것!
참고
plus 함수에서 식을 끌어올건데 plus 식에 적용된 게 int라서 avg에서 아무리 매개변수로 double을 지정해봤자 가져온 식이 int라서 int에 맞춰서 해당 매개변수도 지정을 해줘야하는거같아요
CalculatorApplication
sec04 - exam05
Car
뒤에 소괄호가 있으면 함수
1. 키를 돌립니다 출력
2. 달립니다는 여러개 반복이니까 반복문 5개 돌리기
3. 현재 속도 speed 값을 return
속성(필드)값을 적는 경우 : 실행 클래스에서 그 속성을 사용할 때
여기있는 int speed의 speed는 keyTurnOn, run, getSpeed에서 모두 쓰이며 실행클래스에서도 speed가 쓰일것이기 때문에 속성으로 추가한것!
void run에서
변수 i는 for문의 중괄호 안에서만 활용되며 중괄호를 나가면 사라짐.
반복문을 통해 i가 5가 되어있음
그래서 그 i가 사라지기 전에 speed라는 속성에 저장해놓기
이 속성 speed는 다른 함수들에서 전부 사용 가능
5라고 저장되어있는 speed를 getSpeed에서 사용함
CarApplication
sec04 - exam06
함수(메소드) 오버로딩 : 매개변수나 return값을 다르게 사용하면 같은 함수명 사용 가능 => 코딩 효율성 좋아짐
Calculator
area 같게 하면 에러뜸
매개변수를 height 추가해서 위에거랑 다르게 하면 에러가 사라짐
CalculatorApplication
sec04 - verify - exam01
PrintApplication (여기 있는거 유추해서 프린트 클래스 만들기)
( ) 가 있으면 전부 함수
sec04 - verify - exam02
MemberService
MemberApplication
sec05 - exam01
- 속성에 값을 저장/수정하는 함수 : setter 함수 : Public void
- 속성에 값을 가져오는(조회하는) 함수 : getter 함수 : Public
1. setter 함수
Car
public void setSpeed(int speed) {} 없애고
alt + insert - setter로 간단하게 만들기
public void setSpeed(int speed) {
this.speed = speed;
}
CarApplication
2. getter 함수
Car
public getSpeed {
return = speed;
}
CarApplication
속성을 바로 사용하는것보다 함수를 가져와서 사용하는게 좋음!!!
그래서 car.speed 가 아니라 car.getSpeed( )를 사용
Setter는 값을 저장하는 곳 (retun이 없음). car.setSpeed(10) 라고 값을 넣고
-> 그 값을 출력하려면 Getter를 써야함 (return이 있음. 내보내기)
그래서 System.out.println (car. setSpeed()); 이라는건 없음
sec05 - exam02
전역변수 = 정적변수
: 클래스명.속성, 클래스명.함수 => 많이 사용하면 메모리 부족현상 발생
Calculator
CalculatorApplication
연습 1)
Calculator
CalculatorApplication
sec05 - exam03
전역변수, 전역함수의 주의점 : 같은 클래스 내의 속성 바로 사용 불가
Car
전역함수에서는 같은 클래스 내의 속성 바로 사용 불가함
그래서 클래스 생성 후 사용해야함!!
1. Car에 speed라는 속성이 있음
원래는 같은 클래스 내에서는 바로 사용 가능한데, static이 붙은 전역함수가 있으면 같은 클래스 내의 속성이라도 사용 불가. main함수가 static 붙은 전역함수임. 보통은 CarApplication에 main 함수 쓰는데 이건 10%의 특수한 케이스.
2. Car에 main쓰면 main은 전역함수라 Car 클래스를 만들어야 함. 그래야 car.speed처럼 본인 속성 사용 가능
sec05 - exam04 : Singleton(싱글톤)
Spring Framework에 있어서 직접 만들일은 없음, 아 이렇게 되는거구나 하면서 사용하기
Singleton
SingletonApplication
sec05 - exam05 : final 예약어
Person
final String nation = "Korea";
에서 Korea 처럼 값을 바로 넣는 경우가 많음
final String ssn;
밑에 바로 값을 넣지 않으면 에러남
그래서 바로 값을 넣어줘야 함
PersonApplication
'JAVA' 카테고리의 다른 글
#31 [JAVA] final 클래스/함수, 다형성, 강제(자료)형변환, instanceof 예약어, 추상클래스/추상함수 (0) | 2024.02.07 |
---|---|
#30 [JAVA] 전역 상수(static final), 접근제한자 종류, 패키지, 상속 super 예약어, 오버라이딩 (0) | 2024.02.06 |
#28 [JAVA] 열거자료형 Week, 객체지향, 생성자 함수 (0) | 2024.02.02 |
#24 [JAVA] 배열 2,3, 2차원 배열, 향상된 for문, 얇은 복사/깊은 복사, (0) | 2024.01.29 |
#23 [JAVA] 반복문 while/continue/break, 참조자료형/기본자료형, 배열 1 (0) | 2024.01.25 |