각종 테스트와 실습 문제를 푸는 과정에서 이해도가 부족한 부분을 여럿 발견했다. 우선 이들에 관해 리서칭해 보고, 이해에 도움이 되는 글을 찾게 되면 이 곳에 링크를 공유한 후 내용을 정리해 보기로 한다.
생성자(Constructor)
1-1. 생성자 공식:
//Main(실행 파일에서)
Calculator c1 = new Calculator(10, 20);
//객체명 인스턴스명(객체의 변수명) = new(연산자) 생성자명(파라미터값1, 파라미터값2);
c1.sum();
c1.avg();
//인스턴스명.메소드명();
//인스턴스명.메소드명();
//Calculator (본 파일에서)
class Calculator { //클래스 명 = 생성자 명
int left, right; //필드 변수 선언
public Calculator (int left, int right){ //파라미터 생성자
this.left = left; // =필드의 left가 파라미터의 left이다.라는 뜻
this.right = right; // =필드의 right가 파라미터의 right이다. 라는 뜻
}
Object Array(객체 배열)
2-1. 객체 배열의 초기화
//Main(실행 파일에서)
TV tvArray [] = new TV[3];
//객체명 배열명[] = new연산자 생성자명(=객체명)[배열의 크기];
tvArray[0] = new TV("_INFINIA", 1500000, "LED TV")_;
tvArray[1] = new TV(_"XCANVAS", 1000000, "LCD TV"_);
tvArray[2] = new TV(_"CINEMA", 2000000, "3D TV"_);
//배열명[인덱스] = new연산자 생성자명(파라미터1, 파라미터2, 파라미터3);
2-2. 객체배열을 통해 값 불러오기
//TV (본 파일에서)
public String toString() { //기능 구현을 위한 메소드, String 리턴타입
return getName()+"\t"+getPrice()+" "+getDescription()+"\n"; }
//가장 실수하기 쉬운 부분!
//기능 메소드를 통해서 값을 받아오려면, 반드시 필드 변수명이 아닌 getter를 사용해야 한다. 만약 getName()이 아닌 name을 적으면 의도한대로 값이 리턴되지 않는다!!!
//Main(실행 파일에서)
for(int i=0; i<tvArray.length; i++) {
System.out.print(tvArray[i].toString());
//위의 2-1, 2-2를 참고하여 반복문을 사용한다면 정상 출력된다!
//Console 결과:
참고한 글:
https://opentutorials.org/course/1223/5519 (생활코딩 생성자편)
https://www.youtube.com/watch?v=GSVbcmVw1i0 (자바의 정석 객체배열편)