[NHN Academy]
day1
jnk1m
2022. 8. 29. 11:50
프로젝트 생성 완료
-프로젝트 관련 기본 요소 생성
-디렉토리 구성
1. src/main/java
사용자가 작성하는 소스코드 위치
2. src/test/java
테스트 코드 위치
3. pom.xml
Maven 설정 파일
프로젝트 리소스 생성
-리소스 생성 위치 선택 : Java, Resource 등 해당 위치 선택
-생성하고자 원하는 항목 선택 : 마우스 우측 버튼 클릭, 팝업 메뉴에서 New 선택 후 생성을 원하는 종류 선택
-항목
1. Java Class: 자바 클래스 파일로 주어진 이름의 클래스가 파일로 생성됨. 이때, class, interface, enum, annotation 등 선택 가능
2. File
Overview
- 클래스
- 필드와 메소드 - 속성과 기능(동작)
- 필드는 최소화하라: 임시로 사용될 값들은 가능한 필드로 정의하지 않는다.
- 메소드: 의미 있는 기능 단위로 분류하라. 사용 위치에 따라 접근 제어 속성을 부여하라.
- 네이밍? 어렵지만 중요하다
- 예외 처리를 하라
- 어노테이션을 이용한 오류 방지
- 필드와 메소드 - 속성과 기능(동작)
- 추상 클래스와 인터페이스
- 확장과 구현
- 중복정의와 재정의
- 중복 정의(overloading): 메소드의 이름은 같으나, 인자의 수나 자료형이 달라 행해지는 과정이 달라진다. 변환형은 무관
- 재정의 (Overriding): 상위 클래스로부터 상속 받은 메소드를 현재의 클래스에 맞게 재정의한다.
반환형의 종류에 따라 다름.- 반환형이 void나 원시 타입인 경우, 반환형이 달라서는 안된다.
- 반환형이 클래스나 인터페이스 정의된 참조 타입인 경우, 반환형이 달라도 하위 클래스인 경우 가능하다.
- 생성자
- new : New 연산자를 통해 클래스의 객체를 만듦
- overloading: 생성을 위해 주어지는 인자를 다양하게 할 수 있음
- default: 아무런 생성자 정의가 없는 경우, default 생성자 적용됨 (int, long, float, double:0, boolean:false, String&class: null)
- Copy Constructor: 동일한 타입에 객체를 인자로 받아 값을 복제함.
- 얇은 복제: 1차원적인 값을 복제함. 참조 타입의 경우, 참조 포인트 값만 복사됨
- 깊은 복사: 참조 타입은 해당 타입을 생성하고 복제함
- 복제 생성자
- toString: 객체의 정보 출력. 객체를 String으로 변환할 필요가 있을 경우 자동 변환. 대부분의 경우, 재정의가 필요함.