inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 프로그래밍 입문 : 선수 수업

안녕하세요 자바를 시작한지 별로 안된 사람입니다.

해결된 질문

310

이승훈

작성한 질문수 49

0

 이 강의에서의 질문은 아니지만 자바 입문자를 대상으로 하는 강의 처럼 보여서 질문을 드립니다. 자바에서는 함수 대신 메서드라고 표현하더라구요. 그리고 자료형을 제시해야하는 정적 타이핑 언이이기도 하고요. 이 정적 타이핑에 대한 것이 질문의 핵심입니다. 만약 조건에 따라 다른 자료형을 리턴한다고 가정해보겠습니다.

public static returnTwoType() {
    if (true) {
        return '1';
    } else {
        return 1;
    }
}

실제로 이런 메서드는 존재하지 않겠죠 리턴값은 있지만 메서드 선언문에 자료형이 제시가 안되어 있으니까요. 만약 이런식으로 어떠한 조건때문에 리턴값의 타입이 두 가지 혹은 그 이상으로 나뉘게 된다면 어떤 자료형으로 메서드를 선언해야 할까요? 

java

답변 1

0

이재환

그냥 웬간한 랭귀지에서 사용하는 컨벤션(관습, 관례)인데, 객체 안에서 사용되는 함수를 메서드라고 부릅니다.
이렇게 암묵적 약속이 되면 서로 얘기하기도 편하고 이해하기도 편하니까요...

그리고 자바, C, C++ 등은 변수 선언에 엄격한 이유로 변수 사용시 데이터 타입을 오해하여 발생하는 에러가 발생하지 않습니다.
반면 JS 등은 선언은 편하지만 사용할 때 변수의 타입을 의심해봐야 하는 불편한 점이 생깁니다.
하나가 편하면 하나는 불편해 지는 겁니다.

어쨌든 자바에서는 말씀하신 것처럼 사용할 수 있는 자료형은 없습니다. 
굳이 필요하다면 객체를 리턴하고 그 객체에 알맞게 데이터를 저장하고 꺼내는 로직을 구현하여 사용할 수는 있겠지만 자바에서 사용할 만한 방법은 아닙니다.

0

이승훈

답변 감사드립니다!

15분 48초 질문

0

2

1

26-1년도 이론문제 재탕

0

18

1

26-1년도 코드문제 재탕

0

14

0

이론재탕만 눈치챘어도

0

27

1

25-3년도 이론문제 재탕

0

19

1

25-3년도 코드문제 재탕

0

14

0

출력값 문의

0

17

2

25-2 분기커버리지

0

19

0

25-2 이론 재탕

0

27

1

25-1 이론 재탕

0

26

1

Jib 빌드가 83%에서 멈추는 문제 해결(windows 사용자)

1

22

1

런타임 에러

0

19

0

서브넷 마스크

0

35

1

모의고사 1회 계산문제 2개 맞았는데

0

55

2

서비스에서와 컨트롤러의 @Vaild 적용 차이에 대해서

0

39

2

업캐스팅 문제 예시 4번 부모 호출

0

46

2

copilot-instruction.md

0

31

2

트랜잭션 내 Redis I/O 에 대한 궁금한점

1

34

1

모의고사 자료 해설이 너무 불친절하네요.

0

87

2

부모의 생성자 출력 관련

0

41

2

반복문 사용하기

1

374

1

강의가 재생이안되요

0

283

1

질문드립니다

0

326

2

책 전용의 강의가 아니에요~

0

372

1