개발 일기

Java의 생성자 작용 원리 본문

Java&Spring/Java

Java의 생성자 작용 원리

flow123 2021. 11. 24. 13:54

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