๐Ÿ‘ฉ๐Ÿป‍๐ŸŒพ

[์šฐ๋ฆฌFISA ํด๋ผ์šฐ๋“œ ์—”์ง€๋‹ˆ์–ด๋ง] 1์ฃผ์ฐจ ํšŒ๊ณ  ๋ณธ๋ฌธ

Activity/์šฐ๋ฆฌFISA

[์šฐ๋ฆฌFISA ํด๋ผ์šฐ๋“œ ์—”์ง€๋‹ˆ์–ด๋ง] 1์ฃผ์ฐจ ํšŒ๊ณ 

์ฅฌ์Šค์ด 2024. 7. 13. 13:07
728x90

์˜ฌํ•ด 8์›” ์กธ์—… ์˜ˆ์ •์ด๋ผ, ์ทจ์ค€ํ•˜๋Š” ๋™์•ˆ ๊ณต๋ฐฑ๊ธฐ๋„ ์ฑ„์šธ ๊ฒธ ํด๋ผ์šฐ๋“œ ๊ธฐ์ˆ ์„ ์ตํžˆ๊ณ ์ž ์ง€์›ํ•œ ์šฐ๋ฆฌ FISA ํด๋ผ์šฐ๋“œ ์—”์ง€๋‹ˆ์–ด๋ง ๊ณผ์ •์— ํ•ฉ๊ฒฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋งค์ฃผ ์–ด๋–ค ๊ฑธ ํ–ˆ๋Š”์ง€ ์ตœ๋Œ€ํ•œ ๊ธฐ์–ตํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ์ฐจ๋ณ„ ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค! (์šฐ๋ฆฌFISA ์ง€์›ํ›„๊ธฐ๋„ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ ๋งŽ๊ด€๋ถ€๐Ÿค“)

 

์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ 1์ฃผ์ฐจ ํšŒ๊ณ  ์‹œ-์ž‘!

์›”์š”์ผ

์ฒซ ๋‚ ์€ ๊ฐ•์˜์‹ค์— ๋“ค์–ด์˜ค๋‹ˆ๊นŒ ์ด๋ฆ„์ˆœ์œผ๋กœ ์ขŒ์„ ๋ฐฐ์น˜๊ฐ€ ๋˜์–ด์žˆ์—ˆ๋‹ค.

๊ฐ•์‚ฌ๋‹˜์ด๋ž‘ ์šด์˜ ๋งค๋‹ˆ์ €๋‹˜๊ป˜์„œ ๊ฐ„๋‹จํ•œ OT๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ์‹  ํ›„, ์ž…๊ณผ์‹ ํ•˜๋Ÿฌ ๋งž์€ํŽธ ์šฐ๋ฆฌ๊ธˆ์œต์ƒ์•”์„ผํ„ฐ๋กœ ๊ฐ”๋‹ค!

๊ต์œก์ƒ ๊ตฌ๋ถ„์„ ์œ„ํ•ด ์ด๋ฆ„ ์Šคํ‹ฐ์ปค๋„ ๋ถ™์˜€๋Š”๋ฐ ์˜ค๋žœ๋งŒ์— ์ดˆ๋“ฑํ•™์ƒ์ด ๋œ ๊ฑฐ ๊ฐ™์€ ๊ธฐ๋ถ„,,,๐Ÿซฃ

์ž…๊ณผ์‹์„ ํ•˜๋ฉด์„œ ์ข‹์•˜๋˜ ์ ์€ ์šฐ๋ฆฌFIS์— ๋Œ€ํ•ด ์ข€ ๋” ์ž์„ธํžˆ ์•Œ๊ฒŒ ๋œ ์ ?์ธ ๊ฑฐ ๊ฐ™๋‹ค

'์šฐ๋ฆฌ๊ธˆ์œต ๋‚ด๋ถ€ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœํ•˜๋Š” ํšŒ์‚ฌ'๋กœ๋งŒ ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ,

์ •ํ™•ํ•˜๊ฒŒ ์–ด๋–ค ๊ฑธ ๊ฐœ๋ฐœํ•˜๋Š”์ง€, ํ˜„์žฌ ์–ด๋–ค ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๊ณ  ์ค€๋น„ ์ค‘์— ์žˆ๋Š”์ง€ ๋“ฑ๋“ฑ,,,์„ ์•Œ๊ฒŒ ๋œ ์ข‹์€ ๊ฒฝํ—˜๐Ÿ€๐Ÿ‘๐Ÿป

์ž…๊ณผ์‹ ๋๋‚˜๊ณ  ๊ฐ•์˜์‹ค๋กœ ๋Œ์•„์™€์„œ ๋ฐ›์€ ํ˜ธ๋‘๊ณผ์ž ๋ง›๋„๋ฆฌ!

์ฒซ ๋‚ ์€ ๋”ฐ๋กœ ์ˆ˜์—… ์ง„๋„๋ฅผ ๋‚˜๊ฐ€์ง€ ์•Š๊ณ , ๋‹ค์Œ๋‚ ๋ถ€ํ„ฐ ๋ฐ”๋กœ ์‹ค์Šต์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹ค์Šตํ™˜๊ฒฝ ์…‹ํŒ…์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

STS4, VSCode, VirtualBox, MobaXterm ์ด๋ ‡๊ฒŒ ์ด 4๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ–ˆ๋Š”๋ฐ,

์ด ์ค‘์—์„œ MobaXterm์€ ์ฒ˜์Œ ๋“ค์–ด๋ด์„œ ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์ธ์ง€ ์ฐพ์•„๋ณด์•˜๋‹ค๐Ÿ”ฅ

MobaXterm์ด๋ž€?
Linux ํ™˜๊ฒฝ์˜ SSH ์ ‘์†, FTP, SFTP ๋“ฑ์„ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค.
(๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ์›๊ฒฉ ์ ‘์†์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์„ ์ค„์—ฌ์ฃผ๋Š” ์žฅ์ ๐Ÿ‘๐Ÿป)

 

ํ™”์š”์ผ

๋ณธ๊ฒฉ์ ์œผ๋กœ ์‹ค์Šต์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

๋จผ์ €, mobaXterm์—์„œ๋„ Java ๊ฐœ๋ฐœ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ–ˆ๊ณ 

sudo apt install openjdk-17-jdk-headless

ifconfig, tree์˜ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅํ–ˆ๋‹ค.

sudo apt install net-tools
sudo apt install tree

tree ๋ช…๋ น์–ด๋Š” ์ฒ˜์Œ ์‚ฌ์šฉํ•ด๋ดค๋Š”๋ฐ, ํ˜„์žฌ ์ ‘์† ์ค‘์ธ ํด๋”์˜ ํ•˜์œ„ ๊ตฌ์กฐ๋ฅผ ๊ณ„์ธต์ ์œผ๋กœ ํ‘œ์‹œํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด์˜€๋‹ค๐Ÿง

 

๊ทธ ๋‹ค์Œ์œผ๋กœ ์ง„ํ–‰ํ•œ ๊ฒƒ์€ Lombok ์„ค์ •์ด์—ˆ๋‹ค.

Lombok์ด๋ž€?
์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ์–ด๋…ธํ…Œ์ด์…˜(= @)์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž๋™ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

 

๊ทธ๋ž˜์„œ Lombok์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค๐Ÿ‘๐Ÿป ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์˜ˆ์‹œ๋กœ ๋ณด๋ฉด,

// Lombok ํ™œ์šฉํ•œ ์ฝ”๋“œ
@NoArgsConstructor
@AllArgsConstructor
@Setter
@Getter
public class People {
    public String name;
    public String age;
}

//////////////////////////////////

// Lombok ์‚ฌ์šฉ ์•ˆ ํ•œ ์ฝ”๋“œ
public class People {
    public String name;
    public String age;
}

// @Setter๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์ฝ”๋“œ
public void setName(String name) {
	this.name = name;
}

public void setAge(int age) {
	this.age = age;
}

// @Getter๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์ฝ”๋“œ
public void getName() {
	return name;
}

public void getAge() {
	return age;
}

// @NoArgsConstructor๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์ฝ”๋“œ
public People() {

}

// @AllArgsConstructor๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์ฝ”๋“œ
public People(String name, int age) {
    this.name = name;
    this.age = age;
}

์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์™€ ์•ˆํ–ˆ์„ ๋•Œ์˜ ์ฝ”๋“œ ๊ธธ์ด๊ฐ€ ๊ต‰์žฅํžˆ ์ฐจ์ด๋‚œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

lombok์„ ๊ฐœ๋ฐœํ™˜๊ฒฝ์— ์„ค์ •ํ•˜๋Š” ์ˆœ์„œ๋Š”

1. lombok.jar ํŒŒ์ผ์„ ๋‹ค์šด ๋ฐ›๊ณ 

2. lombok.jar ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์—์„œ powershell์„ ์—ด์–ด์„œ(Shift + ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ)

3. 'java -jar .\lombok.jar' ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ด์ค€๋‹ค.

4. ๊ทธ๋Ÿฌ๋ฉด ์„ค์น˜ํ™”๋ฉด์ด ๋œจ๊ณ , lombok์„ ์„ค์น˜ํ•  IDE๋ฅผ ์„ ํƒํ•ด์•ผ ๋˜๋Š”๋ฐ

5. ์ด๋•Œ, STS ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ((ํ˜„์žฌ ๋ณธ์ธ์ด ์‚ฌ์šฉ ์ค‘์ธ IDE) ์ด ์œ„์น˜ํ•œ ํด๋”๋ฅผ ์„ ํƒํ•˜์—ฌ ํ•ด๋‹น ์œ„์น˜์—๋„ lombok.jarํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

6. ๋งˆ์ง€๋ง‰์œผ๋กœ, maven project์˜ pom.xml์— ์•„๋ž˜ lombok dependency๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ์†Œ์Šค์ƒ์—์„œ๋„ lombok์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.34</version>
    <scope>provided</scope>
</dependency>
์ˆ˜์š”์ผ

์ˆ˜์—… ๋‚ด์šฉ ์ค‘ ์ฒ˜์Œ ์•Œ๊ฒŒ ๋œ 2๊ฐ€์ง€ ๋‚ด์šฉ์ด ์žˆ์—ˆ๋‹ค.

๋ฐ”๋กœ 1) VSCode๋กœ Ubuntu ์„œ๋ฒ„์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๊ณผ 2) @Builder๋ผ๋Š” ๊ฐœ๋…์ด๋‹ค!

 

1)์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์–˜๊ธฐํ•˜์ž๋ฉด, ์ „๊ณต ์ˆ˜์—…์„ ๋“ค์œผ๋ฉด์„œ ๋ฆฌ๋ˆ…์Šค๋ฅผ ๋‹ค๋ฃฌ ๊ฒฝํ—˜์ด ๊ฝค ์žˆ๋Š”๋ฐ (์˜ฌํ•ด 1ํ•™๊ธฐ์—๋„ ๋‹ค๋ฃธ) ๋งค๋ฒˆ Ubuntu๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋„ˆ๋ฌด ๋ถˆํŽธํ•˜๋‹ค๋ž€ ์ƒ๊ฐ๋ฐ–์— ์—†์—ˆ๋‹ค.

์™œ๋ƒ? ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๋ฉด ์šฐ์„  vi ์—๋””์— ์‚ฌ์šฉํ•ด์•ผ ๋˜๋Š”๋ฐ, ์ฝ”๋“œ ๋‚ด์—์„œ ์ปค์„œ๋ฅผ ์›€์ง์ด๋ ค๋ฉด ๋ฐฉํ–ฅํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ๋˜๊ณ , ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ๋‹ค๋ฅธ ํŒŒ์ผ์„ ๋ณด๋ ค๋ฉด :wq ์ฐ๊ณ  ๋‚˜์™€์„œ ํ™•์ธํ•ด์•ผ ๋˜๊ณ  ๋“ฑ๋“ฑ๋“ฑ,,,์˜ ๋ถˆํŽธํ•จ์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—๐Ÿ˜จ

๊ทธ๋Ÿฐ๋ฐ, VSCode์—์„œ

์œ„ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๋ฉด ์›๊ฒฉ์œผ๋กœ Ubuntu์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค๐Ÿ˜ฎ

ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•˜๊ณ , 1๋ฒˆ ๋ฐ•์Šค๋ฅผ ๋ˆ„๋ฅด๋ฉด 2๋ฒˆ ๋ฐ•์Šค์— ๋ณด์ด๋Š” ๊ฑฐ์ฒ˜๋Ÿผ 'Remote EXPLORER' ํƒญ์ด ๋œจ๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ฒ˜๋Ÿผ ๊ฐœ๋ฐœ์„ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ง„์งœ ์‹ ์„ธ๊ณ„์˜€๋‹ค,,, ์ด๊ฑธ ์ง„์ž‘ ์•Œ์•˜์œผ๋ฉด ๋ฆฌ๋ˆ…์Šค๋ฅผ ๋” ์žฌ๋ฐŒ๊ฒŒ ํ•˜์ง€ ์•Š์•˜์„๊นŒ ์‹ถ์—ˆ๋‹ค,,,

 

2)๋ฒˆ์€ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด์—ˆ๋‹ค.

public static class Student {
    private int id;
    private String name;
    private int age;
    private String major;
    
    public Student() { }
    
    public Student(int id, String name, String major) {
    	this.id = id;
        this.name = name;
        this.major = major;
    }
    
    public Student(int id, String name, int age, String major) {
    	this.id = id;
        this.name = name;
        this.age = age;
        this.major = major;
    }
}

์›๋ž˜๋Š” ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์˜ ๊ธฐ๋ณธ์ ์ธ ์ƒ์„ฑ์ž ์ƒ์„ฑ ๋ฐฉ์‹์„ ์•Œ๊ณ  ์žˆ์—ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ Class์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๊ฐ€ ์ง€๊ธˆ์ฒ˜๋Ÿผ 4๊ฐœ๊ฐ€ ์•„๋‹Œ 15๊ฐœ? ์ •๋„๋กœ ๋งŽ์ด ์žˆ๋Š”๋ฐ ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜๊นŒ์ง€ ๋งŽ์„ ๋•Œ๋Š” ์ƒ์„ฑ์ž ์ข…๋ฅ˜๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์ง€๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด @Builder์ด๋‹ค.

Student s1 = Student.builder().id(123).build();
Student s2 = Student.builder().id(342).major("์ปด๊ณต").build();
Student s3 = Student.builder().name("2oo1s").age(100).build();

์ด๋ ‡๊ฒŒ ์›ํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์–ด์„œ ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋กœ ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค๐Ÿ‘๐Ÿป

๋ชฉ์š”์ผ

MVC ํŒจํ„ด๊ณผ ํƒ€์ž…๋ณ€ํ™˜(typeCasting)์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค.

์ด ๋‚  ํŒ€๋ผ๋ฆฌ ๋ฐฐ์šด ๋‚ด์šฉ์„ ๋ฆฌ๋ทฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ 2~3๋ฌธ์ œ ์ถœ์ œํ•˜์—ฌ ์ƒํƒœํŒ€์ด ํ’€๊ณ  ๋ฌธ์ œ๋ฅผ ๋ฆฌ๋ทฐํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋Š”๋ฐ,

๊ฐœ์ธ์ ์œผ๋กœ ํƒ€์ž…๋ณ€ํ™˜์€ ์ฝ”๋“œ ๋ณผ ๋•Œ๋งˆ๋‹ค ์กฐ๊ธˆ์”ฉ ํ—ท๊ฐˆ๋ ธ๋Š”๋ฐ ๋ฌธ์ œ๋ฅผ ์ถœ์ œํ•˜๊ณ , ์ƒ๋Œ€ํŒ€์˜ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ๊ฐœ๋…์„ ํ™•์‹คํžˆ ์žก์„ ์ˆ˜ ์žˆ์–ด์„œ ๊ต‰์žฅํžˆ ์œ ์ตํ–ˆ๋‹ค๐Ÿค“

๋‚ด๊ฐ€ ์ถœ์ œํ–ˆ๋˜ 2๋ฌธํ•ญ์€ ์•„๋ž˜์™€ ๊ฐ™์•˜๋‹คใ…Žใ…Ž

// Q1. ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์‹œ์˜ค.
class Parent {
	String id;
	int pw;

	void whoAmI() {
		System.out.println("๋‚˜๋Š” ๋ถ€๋ชจ์•ผ");
	}
}

class Child extends Parent {
	String grade;

	void whoAmI() {
		System.out.println("๋‚˜๋Š” ์ž์‹์ด์•ผ");
	}
}

public class Test{
	public static void main(String[] args) {
		Child c = new Child();
		c.whoAmI();   		 // A

		Parent p = new Child();  // B
		
		p.whoAmI();		 // C
	}
}

/*
 * <๋ณด๊ธฐ>
 * 1. A์—์„œ ์ถœ๋ ฅ๊ฐ’์€ "๋‚˜๋Š” ์ž์‹์ด์•ผ"์ด๋‹ค.
 * 2. B ๊ตฌ๊ฐ„์—์„œ ๊ฐ์ฒด ์ƒ์„ฑ ์ˆœ์„œ๋Š” '๋ถ€๋ชจ, ์ž์‹'์ˆœ์ด๋‹ค.
 * 3. C์—์„œ ์ถœ๋ ฅ๊ฐ’์€ "๋‚˜๋Š” ์ž์‹์ด์•ผ"์ด๋‹ค.
 * 4. Child ํด๋ž˜์Šค์—์„œ whoAmI ๋ฉ”์†Œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•œ ๊ฒƒ์€ ์˜ค๋ฒ„๋กœ๋”ฉ์ด๋‹ค.
 */
// Q2. ๋‹ค์Œ ๋ณด๊ธฐ ์ค‘ ์˜ณ์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์‹œ์˜ค.
public class Test2{

	static Object[] getArray() {
		Object[] obj = new Object[3];
		obj[0] = "studystudy";
		obj[1] = 3;

		return obj;
	}

	public static void main(String[] args) {

		Object[] o = getArray();

		System.out.println(((String) o[0]).length());	// A
		System.out.println(((float) o[1]));		// B
		System.out.println(o[2]);			// C
	}

}

/*
 * <๋ณด๊ธฐ>
 * 1. A์—์„œ ์ถœ๋ ฅ๊ฐ’์€ 10์ด๋‹ค.
 * 2. B์—์„œ ์ถœ๋ ฅ๊ฐ’์€ 3.0์ด๋‹ค.
 * 3. C์—์„œ ์ถœ๋ ฅ๊ฐ’์€ null์ด๋‹ค.
 * 4. main ํ•จ์ˆ˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” 103.0null์ด ์•„๋‹ˆ๋‹ค.
 */

โ”์ด ์ค‘์—์„œ ํ•œ ๋ฌธ์ œ๊ฐ€ ํŒ€ ๋ฌธ์ œ๋กœ ์„ ํƒ๋˜์—ˆ๋Š”๋ฐ, ๊ณผ์—ฐ ์–ด๋–ค ๋ฌธ์ œ์˜€์„๊นŒ์š”โ”

๊ธˆ์š”์ผ

์ฒซ ์ฃผ์˜ ๋งˆ๋ฌด๋ฆฌ๋Š” ์ง€๊ธˆ๊นŒ์ง€ ์ˆ˜์—…์‹œ๊ฐ„์— ๋ฐฐ์šด ๋‚ด์šฉ๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ 4๋ช…์ด์„œ ํ•˜๋ฃจ๋งŒ์— ๋๋‚ด๋Š” ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.

MVC ํŒจํ„ด์„ ํ™œ์šฉํ•ด์•ผ ํ–ˆ๊ณ , DB ์—†์ด ์ง„ํ–‰ํ•ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์— ์–ด๋Š ์ •๋„ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜์—ˆ๋‹ค,,,

(+ git๋„ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ๋‹ค)

๊ทธ๋ž˜์„œ ์ฃผ์ œ๋ฅผ ์„ ์ •ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋Š”๋ฐ, ์šฐ๋ฆฌ ํŒ€์€ '์šฐ๋ฆฌFISA ๋„์„œ๊ด€'์„ ์ฃผ์ œ๋กœ ์ •ํ–ˆ๋‹ค๐Ÿ“š

 

git ์„ค์ •ํ•˜๋Š” ๋ฐ๋งŒ ์•ฝ 2์‹œ๊ฐ„ ์ •๋„ ์ผ๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฅด๊ฒŒ DTO & DAO๋ฅผ ์ •์˜ํ•ด์„œ ํฐ ํ‹€์„ ์ •ํ•œ ๋‹ค์Œ, 2๋ช…์”ฉ ๋‚˜๋ˆ„์–ด ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

์˜ค๋žœ๋งŒ์— MVC ํŒจํ„ด ์ ์šฉ์‹œ์ผœ์„œ ํ”Œ์  ์ง„ํ–‰ํ•˜๋ ค๋‹ˆ๊นŒ ํ—ท๊ฐˆ๋ ค์„œ ์ค‘๊ฐ„์ค‘๊ฐ„ ๊ผฌ์ด๊ธฐ๋„ ๋งŽ์ด ๊ผฌ์˜€๋‹คTAT

๊ทธ๋ž˜๋„ ์˜ค๋žœ๋งŒ์— ํ˜‘์—…ํ•˜๋‹ˆ๊นŒ ์žฌ๋ฐŒ๊ธฐ๋„ ํ•˜๊ณ , (ํŠธ๋ผ์šฐ๋งˆ ์žˆ๋˜) git ์‚ฌ์šฉ๋ฒ•๋„ ์กฐ๊ธˆ์”ฉ ์ตํžˆ๊ณ , ๋ฐฐ์šด ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์„œ ํŒ€์›๋“ค์ด๋ž‘ ์žฌ๋ฐŒ๊ฒŒ ํ–ˆ๋‹ค๐Ÿ‘๐Ÿป

๋ฌด์—‡๋ณด๋‹ค๋„ ์ œํ•œ๋œ ์‹œ๊ฐ„ ๋‚ด์— ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•ด์„œ ๋งค์šฐ ๋ฟŒ๋“ฏํ–ˆ๋‹ค,,,

๊ทธ๋ ‡๊ฒŒ ์ตœ์ข…์ ์œผ๋กœ ์™„์„ฑํ•œ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋Š” ์œ„์™€ ๊ฐ™์ด ๋‚˜์™”๊ณ , ์ „์ฒด readme์™€ ์ฝ”๋“œ๊ฐ€ ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด ์—ฌ๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์„ธํšจ๐Ÿค“

 

๊ทธ๋ฆฌ๊ณ  ์ ์‹ฌ ๋จน๊ณ  ๋‚œ ๋’ค์—, ๊นœ์ง ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ๋ฐ”๋กœ๋ฐ”๋กœ

๋žœ๋ค ์œ„๋น„ํ”„๋ Œ์ฆˆ ์ธํ˜• ํ‚ค๋ง ์ฆ์ •์‹์ด์—ˆ๋‹ค๐Ÿซถ๐Ÿป

๋žœ๋ค์ด์—ˆ์–ด์„œ ํŒ€์›๋“ค์ด๋ž‘ ํ•˜๋‚˜์”ฉ ๊ฐ€์ ธ์™€์„œ ๋™์‹œ์— ํ•˜๋‚˜๋‘˜์…‹ ํ•˜๊ณ  ๋’ค์ง‘์—ˆ๋Š”๋ฐ 4๋ช… ๋‹ค ๋‹ค๋ฅธ ๊ฑฐ ๋ฝ‘์€๊ฒŒ ํ‚ฌํฌ!

์ด๋Ÿฐ ์†Œ์†Œํ•œ ์žฌ๋ฏธ๊ฐ€ ์žˆ๋Š” FISA ๋„ˆ๋ฌด ์ข‹ใ„ทr,,,,


1์ฃผ์ฐจ ์ด ์ •๋ฆฌ

 

- ์ด๋ฒˆ ์ฃผ ์ˆ˜์—…์—์„œ ์ข‹์•˜๋˜ ์ ์€? (LIKED๐Ÿ‘๐Ÿป)

๊ธˆ์š”์ผ์— ์ง„ํ–‰ํ•œ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฐฐ์šด ๋‚ด์šฉ์„ ์ง์ ‘ ํ™œ์šฉํ•˜๋ฉฐ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋˜ ์‹œ๊ฐ„์ด๋ผ ๊ฐ€์žฅ ์ข‹์•˜๋˜ ๊ฐ™๋‹ค.

 

- ์ด๋ฒˆ ์ฃผ์— ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์šด ์ ์€? (LEARNED๐Ÿ“š)

- ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, VSCode๋กœ Ubuntu ์„œ๋ฒ„์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๊ณผ @Builder์ด๋‹ค.

 

- ๋ฐฐ์šด ๊ฒƒ์— ๊ด€ํ•ด์„œ ๋‚ด๊ฐ€ ๋ถ€์กฑํ–ˆ๋˜ ๋ถ€๋ถ„์€? (LACKED๐Ÿง)

์˜์—ญ์˜ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ์ž˜ ์ •๋ฆฌ๊ฐ€ ์•ˆ๋˜์–ด ์žˆ๋Š” ๊ฑฐ ๊ฐ™์•˜๋‹ค.

Heap, Stack, Data ๊ฐ ์˜์—ญ์— ์–ด๋–ค ๋ณ€์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋˜๋Š”์ง€ ํ™•์‹คํ•˜๊ฒŒ ์•Œ์•„๋‘ฌ์•ผ ๋˜๊ฒ ๋‹ค,,,!

 

- ์•ž์œผ๋กœ ๋ญ˜ ๋” ํ•˜๋ฉด ์ข‹์„๊นŒ? (LONGED FORโญ๏ธ)

์šฐ์„ , ์ˆ˜์—…์‹œ๊ฐ„์— ๋ฐฐ์šด ๊ฐœ๋… ์ •๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์€ ๋ฌผ๋ก ์ด๊ณ  ์ถ”๊ฐ€์ ์œผ๋กœ CS ๊ณต๋ถ€๋ž‘ Git ๊ณต๋ถ€๋„ ํ•  ๊ฒƒ์ด๋‹ค.

์ด๋ฒˆ ๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ ์ด์™ธ์—๋„ ๊ต์œก๊ธฐ๊ฐ„ ๋™์•ˆ ๋‹ค์ˆ˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋ ํ…๋ฐ ๊ทธ๋•Œ๋งˆ๋‹ค git ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋˜๋ฉด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์—ด์‹ฌํžˆ ์ตํ˜€๋†”์•ผ๊ฒ ๋‹ค๐Ÿ”ฅ

728x90
Comments