Another Brain

5일차_ 주석문, 생성자(Constructor), 생성자 중복정의, this keyword 본문

P/JAVA

5일차_ 주석문, 생성자(Constructor), 생성자 중복정의, this keyword

뉸누나ㄴ나 2021. 5. 25. 09:53

## worker method
-- 호출에 의해서 수행되는 메서드

public int doA(xxx) {
return xxx;
}
public void doC() {
if () {
return;
}
....
}


## caller method
-- 필요에 의해서 다른 메서드를 호출하는 메서드

public void doB() { 
xxx = doA(xxx);
}

 

## class 확장
1. DTO Class(Domain Class)

관리해야할 값을 가지고 있는 객체들 = 도메인
-- StudentScore
-- Member

2. Service Class 
-- 실제 제공해야하는 서비스 기능 모델링
-- StudentScoreService : 조회, 등록, 수정, 총점, 평균 등
-- MemberService : 요구사항 분석 설계

3. Test Class
-- main() 시작메서드 시작클래스

## 클래스 의존관계
-- 먼저 생성(작성)

## 주석문
-- 주석(comment)은 개발자가 보기위한 도움글
-- 유지보수 목적 주석 가독성, 이해성 작성
-- 코드와 주석 분리 작성

-- 주석종류
1. // 한줄 주석
2. /* 여러줄 주석내용 */

3. API 문서 주석
>> 형식 : /** api 문서 주석 내용 기술 */
>> 선언위치 : 클래스 선언문, 멤버변수 선언문, 메서드 선언문, 생성자 선언문 앞에 위치
>> api 문서 주석 구성요소 : html tag, plain-text, api 문서 전용 어노테이션 태그

>> html tag : <pre> ... </pre>   //
>> api 문서 전용 어노테이션 태그 :
@author 작성자이름
@version ver.1.0 코드버전
@param 매개변수명 설명
@return 반환값 설명
@see 

## 개발이 완료(테스트 완료 정상 수행 가능)
-- jdk\bin> javadoc.exe -d docs\api -author -public *.java
-- 지정한 html 형식의 api 문서파일 자동 생성
-- 개발시에 api 문서 주석작성 필수*******

 

------------------------------
## 생성자(Constructor)
## 생성자 중복정의
## this 키워드
------------------------------

 

## 생성자(Constructor)
-- 역할(목적)
1. 객체생성시에 멤버변수 데이터 초기화 : Domain => 중복정의 : 전체속성, 필수속성
2. 객체서비스 되기전에 선행처리해야하는 로직 수행 : Service => 아규먼트로 전달받은 배열크기로 배열생성 할당 , 중복정의

-- 호출 시점
>> new 객체 생성시에 자동 호출 수행

-- 특징
>> 모든 클래스는 최소 1개 이상의 생성자가 존재해야함
>> 생성자이름 클래스이름과 동일
>> 아규먼트(갯수, 순서, 타입) 중복정의 가능
>> 반환타입 표기해서는 안됨

-- 기본생성자(default constructor)
>> 개발자가 명시적으로 생성자를 1개도 정의하지 않으면 javac(컴파일시점) 자동으로 제공하는 생성자
>> 기본생성자 형식 : no arguments, empty body
>> public 클래스이름(){}


## 생성자 중복정의
-- 권장 : 개발자 명시적으로 생성자 중복정의시에 기본생성자도 함께 중복정의(이유: 상속)
-- 필요에 의해서 기본생성자를 제공하지 않는 경우 있음 : 
>> java.lang.Integer
>> Wrapper API


## this 키워드
-- 객체생성시에 자동으로 제공하는 참조변수
-- 사용방법 :
1. 현재 객체를 지칭 : this
2. 멤버변수 지칭 : this.멤버변수명
>> 멤버변수명과 지역변수명을 동일하게 사용가능
>> 멤버변수를 this 식별가능하기때문에(편리)

3. 현재 객체의 다른생성자를 호출시에 사용
>> 첫번째 수행문 위치
>> this(params)
>> 생성자 중복정의시에 효율적 : 중복 코드 제거, 로직의 일관성 유지, 유지보수 편리
>> 객체생성시에 공통 로직 : 생성자 위임설계해서 this() 호출 사용

## 클래스 구성요소 순서 
1. 멤버변수
2. 생성자
>> 기본생성자
>> 필수초기화생성자
>> 전체초기화생성자
3. 메서드

Comments