함수
(= 코드묶음)
<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 |
댓글