생성자 & getter & setter
Eclipse 설치
1교시 & 2교시
스태틱은 스태틱끼리 사용 가능
중첩 클래스 (메인 클래스 안에 클래스: 로컬 클래스, 밖에는 스태틱 중첩 클래스 )
논스태틱메서드 this.변수 // 내장된 this에 들어있음 . 논스태틱메서드 사용할 땐 파라미터를 넘겨줄 필요가 없음
생성자 new명령이랑 같이 써야하고 반드시 써야함...
생성자는 클래스이름이랑 똑같아야함. 리턴타입이 없어야함(ex void)
new하면 생성자랑 무조건 결합해야되구 생성자 안 만들어 놓으면 자바 컴파일러가 자동으로 만듬. (빈 생성자를)
탑레벨 클래스 : 패키지에 소속된 클래스
getter & setter : private으로 접근이 막힌 변수 값을 리턴해주는 메서드- 인스턴스 메서드로 만들어줘야함. (한개의 값이 아니기 때문에)
하드웨어 발전하면서 유저들의 요구, 기대도 높아짐.
그래서 10년 전 포토샵이나 지금 포토샵이나 속도가 같음
자바 객체 지향언어는 한 번 컴파일하면 운영체제 상관없이 실행가능 , 속도가 느리긴 함
package bitcamp.myapp.vo;
public class Member {
// 모든 인스턴스에서 공유하는 값은 스태틱 필드에 보관한다.
private static int userId = 1;
// 상수는 스태틱 필드로 정의한다.
// => 정보를 다룰 때는 그 정보를 갖고 있는 클래스에 그 기능을 둔다. 필드도 마찬가지
// GRASP 패턴: Information Expert
public static final char MALE = 'M';
public static final char FEMALE = 'W';
// 인스턴스 필드는 각각 개별적으로 유지해야 하는 값을 저장할 때 사용한다.
// new 명령을 통해 변수를 heap 영역에 생성한다.
private int no;
private String name;
private String email;
private String password;
private char gender;
// 생성자는 인스턴스를 생성한 후 필드를 초기화시키는 일을 한다.
// 인스턴스를 사용할 때 문제가 없도록 유효한 값으로 초기화시킨다.
// 기본 생성자(default constructor)는 개발자가 생성자를 정의하지 않을 때
// 컴파일러가 추가해주는 생성자다. 물론 개발자가 직접 추가할 수 있다.
public Member() {
this.no = userId++;
}
// getter, setter는 인스턴스 필드의 값을 설정하고 꺼내는 메서드다.
// 보통 외부에서 직접 필드에 접근하는 것을 막았을 때 사용한다.
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
2교시
myapp
member 클래스 인스턴스 필드들 private으로 수정하고 get, set 메서드 생성(모든 요소 다 ,, )
Eclipse
자바 홈 확인
https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2023-03/R/eclipse-inst-jre-win64.exe
인스톨러에서 업데이트 다시.
https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml
다운로드
이클립스에서는 깃 폴더 통채로 들고오면 안됨
프로젝트별로 끌어와야함
오후 수업
Integrate Development Environment
통합 개발 환경
ex) Eclipse, IntelliJ, ...
프로젝트(루트 프로젝트)
-app(메인 프로젝트)
--src
--build.gradle (Gradle 빌드 도구 설정파일 = build script file)
프로젝를 eclipse IDE로 가져올 때 필요한 파일 => Gradle로 생성 가능! $gradle eclipse
--.project <- eclipse IDE용 프로젝트 설정파일
--.classpath <- eclipse IDE용 자바 classpath 설정
--.settings <- eclipse IDE용 도구 설정 파일
-subproject1
--src
--build.gradle
-subproject2
--src
--build.gradle
----------
이클립스에서는 app, subproject1을 가져와야함
build 도구(컴파일 도구) | build script file |
Ant | build.xml |
Maven | pom.xml (project object model) |
Gradle | build.gradle |
이 파일명으로 어떤 도구로 컴파일 해야하는 지 알 수 있음 |
※ Gradle, plugin, Task
<< 보조이름 >> 이름 |
보조이름: stereo type(태깅) |
Gradle에 플러그인 장착 => build.gradle => plugins{id '플러그인 }
gradle init로 프로젝트 만들고
이클립스든 인텔리제이든 툴로 불러오기. 특정 툴에서 직접 만들지말기.
프로젝트를 공유해야하는데 특정 도구에 종속되어선 안 되니까.
myapp에서 gradle eclipse하면 app 밑에 .project, .classpath 등이 생김
이클립스에서 폴더 import하기
루트프로젝트 안에 메인프로젝트 폴더이름을 따라 가기 때문에 위 방법으로 하면 안됨. 메인 프로젝트들이 다 app이라서.
아래 하고나서 따라하기.
jdt { } 굳이 안 적어도 되지만 다 적어주기.
build.gradle 수정하고나면 다시 클린 & eclipse 실행하기
Eclipse IDE 용어 정리
Eclipse에서
source에서 게터, 세터 한꺼번에 생성가능
이클립스에서 컴파일하면 bin에 생김
'[네이버클라우드] 클라우드 기반의 개발자 과정 7기 > 웹프로그래밍' 카테고리의 다른 글
[NC7기-35일차(6월14일)] - 웹프로그래밍 16일차 (0) | 2023.06.14 |
---|---|
[NC7기-34일차(6월13일)] - 웹프로그래밍 15일차 (0) | 2023.06.13 |
[NC7기-32일차(6월9일)] - 웹프로그래밍 13일차 (0) | 2023.06.09 |
[NC7기-31일차(6월8일)] - 웹프로그래밍 12일차 (0) | 2023.06.08 |
[NC7기-30일차(6월7일)] - 웹프로그래밍 11일차 (0) | 2023.06.07 |