본문 바로가기
인천일보아카데미/- 학습일지

[학습일지]JAVA교육일지 27일차

by w1z 2022. 6. 8.

 

 

1. Boilerplate Code(자주 반복되는 코드)

  • 이클립스 기능
  • 외부 기능

2. LOMBOK

  • 설치법
  • 사용법
  • 특징

3. 클래스 배열

4. static

  • 객체 변수/메소드
  • 정적 변수/메소드

1. Boilerplate Code(자주 반복되는 코드)

  (1) 이클립스 기능

   - Context Menu -> Source

   - Code Template(syso, main, reader ...) or Code Sniper(코드 조각)

 

  (2) 외부 기능

   - Lombok(롬북) Library -> 설치

 

2. LOMBOK

  - Lombok사이트 접속 (projectlombok.org/download)

 

Download

 

projectlombok.org

  - 다운로드 파일.jar을 더블클릭해서 열거나, 안나오면 명령프롬트창(cmd) 열어서 다음과 같이 입력

  - 이클립스 해당 프로젝트에 lib 폴더 생성

  - 해당 프로젝트 우클릭 Build Path - Configure Build Path 클릭

  - 라이브러리 -> 설치한 lombok.jar 파일 apply

  (1) 사용법

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

//@명칭으로 클래스 위에 입력
@Data
@Getter
@Setter 

public class Test { 

	private String name;
    private int age;

}

//해당 클래스의 변수 name, age가 Getter, Setter 자동 생성됨.

  (2) 특징

   - Lombok을 사용하게되면 Getter, Setter가 안보이므로 개발자 개입 X , 유효성검사 & 데이터 조작 X

   - Lombok은 당연히 닫힌 환경에서 사용해야 한다.

<객체를 사용하는 환경>
1. 열린 환경
- 내가 만든 클래스를 소통이 없는 다른 사람이 사용할 수 있는 환경
 
2. 닫힌 환경
- 내가 만들 클래스를 나만 사용하거나, 의사소통이 아주 긴밀한 사람들만이 사용할 수 있는 환경
- 유효성 검사가 필요없는 클래스 멤버

 

3. 클래스 배열

  - 클래스 배열 생성시 초기화를 항상 꼭 해줘야함

  - 예시

public static void main(String[] args) {

	Item[] items = new Item[3];
    
    items[0] = new Item();
    items[1] = new Item();
    items[2] = new Item();
    
    items[0].setName("키보드");
    items[0].setColor("검정");
    items[0].setPrice(50000);
    
	System.out.println(items[0].getName());
	System.out.println(items[0].getColor());
	System.out.println(items[0].getPrice());
	
}

class Item {
	
	private String name;
	private String color;
	private int price;
	
	public String getName() {return name;}
	public void setName(String name) {this.name = name;}
	public String getColor() {return color;}
	public void setColor(String color) {this.color = color;}
	public int getPrice() {return price;}
	public void setPrice(int price) {this.price = price;}

}


//output 
----> 키보드
----> 검정
----> 50000

 

 

4. static

  (1) 객체 변수/메소드

   - 객체 변수 : 객체(개인)이 각각의 자신만의 값을 가져야 하는 경우에 사용한다.
   - 객체 메소드 : 객체(개인)이 하는 행동을 구현하는 경우(개인의 데이터를 사용해서) 행동한다.

 

  (2) 정적 변수/메소드

   - 정적 변수(static) : 객체가 속한 클래스의 모든 객체가 동일한 값을 가져야 하는 경우에 사용한다.
   - 정적 메소드(static) : 객체가 하는 행동이 개인의 행동이 아닌 전체를 대변하는 행동을 구현하는 경우 사용한다.

 

  (3) 요약

   -  개인정보 ---> 객체 변수 저장 ---> 객체 메소드로 행동
   -  공용정보 ---> 정적 변수 저장 ---> 정적 메소드로 행동


MEMO>

 

# 이클립스 Getter Setter 자동 만들기 기능
--> 우클릭 -> source -> Generate Getters and Setters ... 클릭

 

# 모든 예외 에러중에 가장 많이 나온다 --> Error : java.lang.NullPointerException:

 

# Ctrl + tap : 탭전환

 

# Alt + 좌, 우 : 열었던 히스토리 전환

 

# 점점 이클립스의 편리한 기능을 알게되는데, 코드가 익숙해질 때 까지 직접 손으로 타이핑 하자!


과제

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        let 출생년도 = prompt('출생년도를 입력하세요');
        let 나이 = 2022-parseInt(출생년도);
        if(출생년도 === "" || 출생년도==0 || 출생년도 === null)
        {alert("입력오류")
        }else if (나이 >= 19)
        
        {alert ("3000원")
        }else if(나이 >=7)
        
        {alert("1500원")
        }else if(나이 <7)
        
        {alert("무료")
        };
    </script>
</body>
</html>