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 | 29 | 30 | 31 |
Tags
- khaiii
- Morphological analysis #Corpus
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트v
- 필사
- taskkill
- PID
- gitbash
- 모바일웹스킨
- 자바파이썬
- 파이콘
- terminate
- #스파르타코딩클럽후기 #내일배움캠프후기
- Anaconda
- 플젝후체크
- 비동기
- 카우치코딩 #couchcoding #6주포트폴리오 #6주협업프로젝트
- github
- Technical Writing
- Machine Learning
- github markdown
- address
- 서버사이드렌더링
- 마크다운
- expression statement is not assignment or call html
- 클라이언트사이드렌더링
- 코딩온라인
- 파이썬
- SSR
- 출처: 자바의 신 8장
- Kakao
Archives
- Today
- Total
개발 일기
Java의 생성자 작용 원리 본문
Spring 의 코드를 짜면서 생성자가 클래스에서 어떻게 작용하는지가 갑자기 이해가 잘 안됐다.
#
Calculator라는 클래스를 new 를 통해서 생성. 인스턴스화 시켜서 c1 이라는 변수에 담는다.
SetOprands를 실행하면 left, right 값을 할당받고 sum, avg 를 실행해서 결과를 도출한다.
SetOprands 를 먼저 실행해야만 아래 sum, avg 호출 가능하다는 점에서 좀 복잡하다.
애초에 객체 Calculator를 생성할 때, left 와 right를 무조건 넣도록 강제한다면 어떨까? 에서 착안한 것이 생성자다.
여기서 Calculator는 클래스가 아니고 생성자 메소드다.
생성자를 이용하면, 아래와 같이 인스턴스가 만들어질 때, left 와 right 값이 자동으로 들어간다.
참고로 생성자는 클래스와 이름이 같아야 한다.
기존에 set operands가 하던 일을, Calculator메소드가 해주고 있다.
생성자는 가장 먼저 실행되는 메소드다.
클래스의 전체적인 그림을 보자. Sum 메소드를 ()호출하면, this메소드에 의해 전역변수인 left..right를 부른다. .
Constructor가 없다면?
-> 없으면 자바가 직접 만들어주고 있으면 우리가 만들어둔 것을 사용한다.
출처: 생활코딩
'Java&Spring > Java' 카테고리의 다른 글
classpath:/static/ 경로 설정 (0) | 2021.11.27 |
---|---|
인텔리제이 Application properties 파일 (0) | 2021.11.26 |
TIL - 스프링 프로젝트 에러 일기 (1) | 2021.11.25 |
자바와 파이썬의 차이점 (0) | 2021.10.28 |
반복문 (0) | 2021.10.23 |
Comments