개인 자료란 (JE)

  서버 커뮤니티


Profile 윈초 루비 유저

wincho_ 8ff851e059fb4dd59be0b55d44f8149f

Profile

커뮤니티 개발 개발자 강좌 일반 프로그래밍

[게임개발로 시작하는 자바 EP. 4] 함수

2022.01.31 조회 수 2267 추천 수 0

이전 글: EP. 3 - 변수

다음 글: EP. 5 - 창 띄우기


2022/05/26 업데이트:

Person클래스는 Student와 같습니다


| Step 1. 함수란?

수학에서는 일차함수의 식은 f(x) = ax + b 이죠

여기선 이차함수 그런거 없어요 차수가 안나눠집니당

프로그래밍에서도 비슷합니다.

수학에서 x에 특정 수를 넣으면 여러가지 계산을 한 후 값이 반환되죠.

수학에서 f는 함수의 이름을 ()안의 값들을 함수를 계산할 때 주어져야 하는 값으로 = 다음에 오는 식을 함수의 식이듯이

자바에서도

public void f(int x) { // 내용 }

으로 표현할 수 있습니다.

참고) 자바에서 함수는 '메서드'라 부릅니다.


자바에서 함수는

접근제어자 타입 이름(변수1, 변수2, 변수3, ....) { }

이 되는 것이죠.

이곳에서 접근 제어자에 대해 배워보세요!


| Step 2. 함수의 위치

자바에선 함수를 클래스 안에 배치합니다. 이곳에서 클래스에 대해 배워보세요!

즉, 클래스 안에는 필드와 함수가 위치할 수 있습니다.


자 그럼 여기서 함수의 예를 살펴보도록 하겠습니다.


저번에 작성했던 Person 클래스 안에

e32f6d975e7bbab3688b7bc32d876a58.png


51459681f829f85f0c79e7355a963f86.png

이렇게 작성한 후 메인 함수에서

Person 변수를 만들고, person변수.printPerson(); 을 작성한 후 실행해보면

3740aa02b6f61f17fe5d717080da32e4.png

6116500fe511769443aa1f4993d88b51.png

잘 나오는걸 확인할수 있습니다!


| Step 3. 정적(static) 함수

보통 함수들은 클래스의 객체를 생성할때 함수가 생성되는데요, 

static함수는 프로그램이 실행되고 해당 클래스가 로딩될때 생성됩니다.

즉 객체에 대한 함수가 아닌 클래스에 대한 함수인것이죠.

static함수를 만드는 방법은 접근제어자와 타입 사이에 static 을 작성해주시면 됩니다.


bec19a846babc437d2482d6b840da95d.png

여기서 main함수도 정적함수입니다.


정적함수를 호출할땐

클래스이름.함수이름(변수, ...);

로 작성하실수 있습니다.


12일만에 돌아온 4강,,,,

머리박겟씁니다


추가)

static 함수뿐 아니라 static 변수도 존재합니다.

static변수도 동일한 방법으로 만들고, 사용합니다!



9개의 댓글

KaMa_
2022.02.01

person 클래스가 student 랑 다른건가요? 지금까지 작성 했던게

main 이랑 student 뿐인데... 흐흠

윈초
2022.02.01
@KaMa_

Person과 Student는 같은 클래스입니다.

제가 실수했네요.. 

명이
2022.02.01

아니 누구 맘대로 내 이름을 팔고 있어

HAN1110
2022.02.05

자바에선 함수가 아니라 메서드라고 합니다

윈초
2022.02.09
@HAN1110

둘다 같은말이에요. 다른 언어를 접하셨던 분들을 위해 함수로 설명한것 뿐입니다

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

윈초
2022.03.15
@qsef1256

자바에선 클래스 안에만 함수를 넣을수있으니까,, 필요하다고 느끼지 않아서 작성하지 않았어요.

문제가 있다고 생각하시면 알려주세요, 수정할게요!

뉴스 및 창작물
/files/thumbnails/566/321/003/262x150.crop.jpg?20221006002749

상품

마인크래프트 신규 피규어 출시: 크리에이터 시리즈

Dalsu

2022-10-06

0

/files/thumbnails/521/321/003/262x150.crop.jpg?20221006001711

소식

마인크래프트 라이브 2022 : 라스칼에게 투표하세요!

Dalsu

2022-10-06

0

/files/thumbnails/048/321/003/262x150.crop.jpg?20221005033802

업데이트

마인크래프트 베드락 에디션 1.19.31 업데이트

Dalsu

2022-10-05

0

/files/thumbnails/021/321/003/262x150.crop.jpg?20221005033142

소식

마인크래프트 라이브 2022 : 스니퍼에게 투표하세요!

Dalsu

2022-10-05

0

/files/thumbnails/394/320/003/262x150.crop.jpg?20221004001233

소식

마인크래프트 라이브 몹 투표 예고 영상

BMlight

2022-10-04

0