본문 바로가기
백엔드/Java

[Java] 함수와 관련된 여러 개념들 (함수, 객체, 식별자, 생성자, 접근제어자)

by BGwon_C 2023. 12. 27.

함수

(= 코드묶음)

 

<html>

<head>

<script>

                                    파라미터(Parameter) - 함수나 메서드 입력 변수(Variable)값

                                     -> 매개변수 값으로 '함수 • 객체  배열' 전달 가능

    function      add       (X. Y) {                                     ┐

    함수선언     함수명   매개변수                                     │

      let         temp   =   X + Y; -------- 프로그램 코드       │ = 함수의 정의 

변수선언      변수명      초기화                                        │  (언제든지 쓸 준비가 되어있는 

      return       temp;  ------------------ 결과 리턴문         │  코드의 묶음을 만들어 놓은 것)

반환키워드       반환값                                                   │

}                                                                                                        ┘

</script>

</head>

<body>

<script>

        add(1, 3);  ----------------------------------------- 함수

        let            n     =    add       (1. 3);  ----------- 객체

  함수호출   변수화   함수명      (전달)인자

                                               아규먼트(argument) - 함수나 메서드 입력값(value)

         document.write("1 + 2는" + n + "<br>");

</script>

</body>

</html>

 

설명 : add라는 이름의 함수는 X, Y를 받아서 temp라는 변수에 저장르 하고 return값으로 temp를 내보내준다.

 

 


 

객체

개념 : 프로퍼티(property)의 집합 (객체는 속성(attribute) + 동작(method)으로 구성)

         키(key)       +         값(value)

식별자(identifier)            메서드 : 프로퍼티의 값이 함수(function)일 때

속성(attribute) : 객체에 붙은 변수(variable)

                                            (=이름)

 

 


 

 

식별자

개념 : 클래스  변수 • 상수 • 메서드 등에 붙이는 이름

 

예시)

종류 주의 틀린 예
int Toy 첫문자로 숫자사용x int 3Chapter; (x)
char Student_Id;   예약어 if 사용x class if{ } (x)
void $func( ) { }  (-> but, 잘사용x) boolean • null 리터널 사용x char false; (x)
class Monster3{ }  @ # • ! 등 특문, 공백 사용x class %calc{ } (x)

 

 


 

생성자

특징 : 메서드의 형태를 띠고 메서드처럼 동작.

그러나 메서드랑 완벽하게 똑같은 건 아니다.

왜냐하면 생성자는 보통 리턴값이 없으므로 void를 사용할 수 없기때문이다.

 

※ 리턴값이 없는 이유?

반환되야 하는 것은 모두 this 에 저장되고 this 는 자동으로 반환되기 때문에 따로 반환문을 쓸 필요가 없는 것

 

만약 return 문을 붙인다면? 
    1. 객체를 return 한다면 this 대신 객체가 반환된다. 
    2. 원시형을 return 한다면 return 문이 무시된다. 
한마디로, return 객체 외에는 무시해버리고 this를 반환하는 것이다. 

 

  • 클래스의 이름과 동일한 특별한 메서드 (클래스명과 반드시 동일하게 정의)
  • 여러개 작성 가능(오버로딩)
  • 리턴타입 지정 못함
  • 객체 생성시 반드시 호출
  • 상속이 되지 않음
  • 접근 제어자만 올 수 있다. (static과 같은 수식어 작성x)

 

목적 : 객체 초기화

 

 


 

 

접근제어자

특징 : 생략 가능, 생략시 자동으로 default 임을 뜻하게 된다.

 

사용 가능한 곳 : 클래스 ,멤버변수, 메서드, 생성자

 

종류 :   public      >     protected                              >    default                  >     private

         접근제한x       같은 패키지내                               같은 패키지내          같은 클래스내에서만 접근 가능

                                or 다른 패키지의 자손클래스                                        (오버라이딩 불가)

 

사용이유 : 캡슐화

'백엔드 > Java' 카테고리의 다른 글

[Java] 자바 변수의 타입 확인하기  (2) 2024.02.09
[Java] 자료 구조와 트리(Tree), 그래픽(Graph)  (0) 2023.12.27
[JAVA] JAVA 배열과 forEach문  (1) 2023.12.26
[Java] 5. 배열(Array)  (0) 2023.07.31
[Java] 2. 변수(Variable)  (0) 2023.07.31

댓글