티스토리 뷰
출처
초기화: 어떤일을 시작하기 전에 준비하는 단계
객체지향 프로그래밍에서도 초기화에 해당하는 기능이 제공되는 데, 이것을 생성자(Constructor)라고 한다.
아래의 예제를 다시 생각해보자.
Calculator c1 = new Calculator();
c1 setOprands(10, 20);
c1.sum();
c1.avg();
지금 위 코드를 보면 sum()과 avg()를 실행하기 위해서는 setOprands를 실행해야 함. 근데 이걸 실제로 기억해서 사용하는 경우는 좀 드물기 때문에, 실제로 이걸 좀 간단히 할 수 있는 방법이 있을까 생각하게 됨. 그렇기 때문에 이러한 초기화 과정을 강제로 진행할 수 있도록 진행한다면, 초기화에 큰 문제가 발생하지 않을 것임.
그 방법이 바로 인스턴스를 생성할 때 강제로 변수를 집어 넣도록 할당하는 방법이 있음. 그렇기 때문에 아래와 같이 코드를 바꾼다면, 초기화에 대한 부담감을 덜고 코드를 짤 수 있을 것임.
Calculator c1 = new Calculator(10, 20);
c1.sum();
c1.avg();
아래는 이를 활용한 예제임
class C {
int left, right;
public C(int left, int right) {
this.left = left;
this.right = right;
}
public void sum() {
System.out.println(this.left + this.right);
}
public void avg() {
System.out.println((this.left + this.right)/2);
}
}
public class ScopeDemo {
public static void main(String[] args) {
C c1 = new C(10, 20);
c1.sum();
c1.avg();
C c2 = new C(20, 40);
c2.sum();
c2.avg();
}
}
결론적으로 말하자면, 클래스(C)의 이름과 같은 메소드를 만든다. 이때 public 붙여줘야함.
그러면 public C(int left, int right){ ... } 를 생성자이고 이걸 통해서 instance를 생성하는 것이다.
'Spring > Java' 카테고리의 다른 글
| [Java] Overriding vs Overloading (0) | 2021.12.06 |
|---|---|
| [Java] 상속 / 상속과 생성자 (0) | 2021.12.03 |
| [Java] 유효범위 (0) | 2021.12.02 |
| [Java] 클래스 맴버와 인스턴스 맴버 (0) | 2021.12.02 |
| [Java] 클래스와 인스턴스 그리고 객체 (0) | 2021.12.02 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 백준알고리즘 #BFS #델타이동 #알고리즘풀이 #개발 #안전영역 #풀스택개발자가되고싶습니다. #노력할래요 # 꾸준히 # 화이팅! #비전공개발자
- 안드로이드 #안드로이드스튜디오 #Kotlin #앱개발 #안드로이드기초 #비전공개발자 #풀스택개발자 #앱개발자
- 비전공싸피합격
- Python
- kotlin문법
- 중첩클래스와 내부클래스
- 알고리즘
- 일반파라미터
- 프로젝트구조
- DP
- Java #객체지향 #상속 #생성자 #개념 #비전공개발자 #FullStack을 #향해
- 보조생성자
- 안드로이드
- 추가합격후기
- 코틀린
- 앱개발
- 생성자
- 백준
- 백준 #숨박꼭질3 #다익스트라 #알고리즘 #비전공개발자 #풀스택 #웹개발 #앱개발 #안드로이드 #python
- 비전공개발자
- 참조연산자
- 기본생성자
- 프로그래머스
- Programmers #알고리즘 #Python #KAKAOINTERNSHIP #비전공개발자 #불량사용자
- Kotlin
- Class
- 카카오
- 구간 합 구하기 4
- Java
- 싸피5기
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 | 31 |
글 보관함
