。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

[네이버클라우드] 클라우드 기반의 개발자 과정 7기/웹프로그래밍

[NC7기-33일차(6월12일)] - 웹프로그래밍 14일차

quarrrter 2023. 6. 12. 16:34

생성자 & 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 

 

Eclipse downloads - Select a mirror | The Eclipse Foundation

The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks.

www.eclipse.org

인스톨러에서 업데이트 다시. 

2번째꺼
설명서
다른 프로그램에서 코드 수정하면 캐치

https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml

다운로드 

 

다운한거 import
확인하기
html, css, jsp utf8로 바꾸기

이클립스에서는 깃 폴더 통채로 들고오면 안됨

프로젝트별로 끌어와야함

 

오후 수업

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 '플러그인 }

https://docs.gradle.org/current/userguide/eclipse_plugin.html#eclipse_plugin
차례대로 추가하고 삭제하기. 저거 3개가 이클립스 사용하려면 다 필요함. 한번에 추가하고 삭제하는 코드있음
한번에 처리하는 거

gradle init로 프로젝트 만들고 

이클립스든 인텔리제이든 툴로 불러오기. 특정 툴에서 직접 만들지말기. 

프로젝트를 공유해야하는데 특정 도구에 종속되어선 안 되니까. 

 

myapp에서 gradle eclipse하면 app 밑에 .project, .classpath 등이 생김 

 

이클립스에서 폴더 import하기 

 

루트프로젝트 안에 메인프로젝트 폴더이름을 따라 가기 때문에 위 방법으로 하면 안됨. 메인 프로젝트들이 다 app이라서.

아래 하고나서 따라하기.

 

이클립스 컴파일할때 쓰일 코드를 build.gradle에 추가하기
프로젝트 이름을 명시하면 명시한 이름이 프로젝트 이름이 됨. 안하면 .project가 들어있는 폴더 명이 프로젝트이름이 됨.

jdt { } 굳이 안 적어도 되지만 다 적어주기. 

build.gradle 수정하고나면 다시 클린 & eclipse 실행하기

 

루트 밑 메인프로젝트까지 들어가서 폴더선택하기
import 완료

Eclipse IDE 용어 정리 

Eclipse에서 

source에서 게터, 세터 한꺼번에 생성가능 

 

이클립스에서 컴파일하면 bin에 생김 

파일 저장할때마다 파일단위로 컴파일 후 bin에 생성
clean 하면 전체 자바파일 모두 컴파일함. bin에서 확인 가능

 

작업 후 깃 push . stage로 옮겨야함 (git add . )&nbsp; & 커밋
git push