Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- spring
- 백준
- 리스트 자르기
- 파이썬
- defaultdict
- 외부조인
- 자바
- 싱글톤
- select
- GCP Storage
- 데이터베이스
- 121
- PYTHON
- react
- java
- 개발기록
- DAO
- JIT
- ChainMap
- Spring Framework
- null
- 스프링
- overriding
- 청크
- Oracle
- orderedDict
- 싱글톤 레지스트리
- 오버라이딩
- 쓰는이유
- DAO의 분리
Archives
- Today
- Total
PengTory
[Java] 클래스 (필드/생성자/메서드) 본문
1. 클래스의 구성 멤버
- 필드
- 변수와 비슷하지만 기본 초기값이 있음-> 기본 자료형 - 0, 참조자료형 - null로 초기화
- 클래스 내 전체 영역에서 사용 가능
- 생성자(constructor)
- 초기화
- return 타입이 없고, 이름이 클래스명과 동일함
- 객체를 생성할 때 사용됨
- 기본 생성자(매개변수가 없는 것)는 생성자가 하나도 없으면 컴파일러가 자동으로 생성해줌
다음과 같이 생성자를 따로 만든다면 컴파일러가 생성자를 자동으로 만들지 않기 때문에 아래처럼 오류가 난다.
public class ClassEx {
// 생성자
ClassEx(int a) {
}
}
- 메서드
- 하나의 기능 단위로
- 목적: 다른데 사용하기 위해서
예를 들어 구구단을 만드는 코드가 필요하다고 생각해보자. 만약 구구단 기능이 여러 파트에서 사용된다면 구구단 코드를 모든 파트에 입력해야하고 이는 곧 낭비로 이어진다. 이러한 경우 메소드로 만들어 놓으면 중복을 피할 수 있다.
- 선언부: return타입 메서드명(매개변수명...) => 구조로 작성
package ch06;
public class ClassEx {
// 메서드
void gugu() {
for (int i=2; i<=9; i++) {
for(int j=1; j<=9; j++) {
System.out.println(i + "*" + j + "=" + (i*j));
}
}
}
}
package ch06;
public class ClassExMain {
public static void main(String[] args) {
// 객체생성
ClassEx ce = new ClassEx();
// 구구단 출력
ce.gugu();
}
}
// => 구구단 결과 출력됨
- 매개변수(argument, 인자, 인수, 파라미터...) : 실행코드에서 메서드 안으로 값을 넘겨주기 위해서
* 파라미터와 argument는 엄밀히 말하면 받는쪽, 보내는쪽으로 조금 다르지만 거의 혼용해서 사용
- return
* 실행한 곳으로 돌아감 => 값을 가지고 돌아가거나 그냥 돌아가거나
* 메서드 실행 중지
- 중괄호 블록 실행코드 작성
'Java' 카테고리의 다른 글
[Java] 상속 (Inheritance) (1) | 2023.03.10 |
---|---|
[Java] static과 instance (+ final, package) (0) | 2023.03.09 |
[Java] 참조타입/ String / 배열 (0) | 2023.03.07 |
[Java] Compile언어 / Interpreter언어 / JIT / Java의 특징 (1) | 2023.03.02 |
객체지향 - 객체란? feat. 상태, 행동, 식별자 (0) | 2022.12.27 |