choco_cube 8ff851e059fb4dd59be0b55d44f8149f
이전 글: EP. 3 - 변수
다음 글: EP. 5 - 창 띄우기
| Step 1. 함수란?
수학에서는 일차함수의 식은 f(x) = ax + b 이죠
여기선 이차함수 그런거 없어요 차수가 안나눠집니당
프로그래밍에서도 비슷합니다.
수학에서 x에 특정 수를 넣으면 여러가지 계산을 한 후 값이 반환되죠.
수학에서 f는 함수의 이름을 ()안의 값들을 함수를 계산할 때 주어져야 하는 값으로 = 다음에 오는 식을 함수의 식이듯이
자바에서도
public void f(int x) {
// 내용
}
으로 표현할 수 있습니다.
참고) 자바에서 함수는 '메서드'라 부릅니다.
자바에서 함수는
접근제어자 타입 이름(변수1, 변수2, 변수3, ....) { }
이 되는 것이죠.
이곳에서 접근 제어자에 대해 배워보세요!
| Step 2. 함수의 위치
자바에선 함수를 클래스 안에 배치합니다. 이곳에서 클래스에 대해 배워보세요!
즉, 클래스 안에는 필드와 함수가 위치할 수 있습니다.
자 그럼 여기서 함수의 예를 살펴보도록 하겠습니다.
저번에 작성했던 Person 클래스 안에
이렇게 작성한 후 메인 함수에서
Person 변수를 만들고, person변수.printPerson(); 을 작성한 후 실행해보면
잘 나오는걸 확인할수 있습니다!
| Step 3. 정적(static) 함수
보통 함수들은 클래스의 객체를 생성할때 함수가 생성되는데요,
static함수는 프로그램이 실행되고 해당 클래스가 로딩될때 생성됩니다.
즉 객체에 대한 함수가 아닌 클래스에 대한 함수인것이죠.
static함수를 만드는 방법은 접근제어자와 타입 사이에 static 을 작성해주시면 됩니다.
여기서 main함수도 정적함수입니다.
정적함수를 호출할땐
클래스이름.함수이름(변수, ...);
로 작성하실수 있습니다.
12일만에 돌아온 4강,,,,
머리박겟씁니다
추가)
static 함수뿐 아니라 static 변수도 존재합니다.
static변수도 동일한 방법으로 만들고, 사용합니다!
KaMa_
2022.02.01person 클래스가 student 랑 다른건가요? 지금까지 작성 했던게
main 이랑 student 뿐인데... 흐흠
WintChoco
2022.02.01Person과 Student는 같은 클래스입니다.
제가 실수했네요..
명이
2022.02.01아니 누구 맘대로 내 이름을 팔고 있어
HAN1110
2022.02.05자바에선 함수가 아니라 메서드라고 합니다
WintChoco
2022.02.09둘다 같은말이에요. 다른 언어를 접하셨던 분들을 위해 함수로 설명한것 뿐입니다
HAN1110
2022.02.09그럼 말고요
qsef1256
2022.03.14엄밀히 말하자면 서로 다른게 맞습니다. 메서드는 클래스에 소속되어 있는 함수를 의미합니다.
https://zeddios.tistory.com/233
https://velog.io/@goyou123/%ED%95%A8%EC%88%98%EC%99%80-%EB%A9%94%EC%86%8C%EB%93%9C%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
WintChoco
2022.03.15자바에선 클래스 안에만 함수를 넣을수있으니까,, 필요하다고 느끼지 않아서 작성하지 않았어요.
문제가 있다고 생각하시면 알려주세요, 수정할게요!
KaMa_
2022.02.13.