내일배움캠프 D+67: 0623

enyo9rt·2022년 6월 23일

TIL-S

목록 보기
46/79

🌌 실시간 강의: 쿠버네티스

AWS에서 진행하려고 하다보니 비용 문제도 있어서 튜터님이 시연하며 설명하시는 걸 들었다. 쿠버네티스는 도커(꼭 도커가 아니더라도) 기반으로 생성된 컨테이너들을 관리하는 도구이다. 가상머신마다 도커를 심고 스케일아웃할 때 관리가 번거로워지기 때문에 필요하다. 아무래도 구성은 스프링 클라우드와 매우 비슷한 느낌이었고, 일부를 섞어쓰는 경우도 있다고 하셨다.


🐢 스터디

JAVA를 다루는 마지막 스터디 시간이었다.
상속, toString 오버라이딩, interface 등 전체적으로 리뷰하는 실습이 여러 차례 진행됐다.
항상 스터디하면 똑같은 프로젝트에 계속 만들어서 해왔는데 분명 라이브러리 lombok 추가해뒀는데도 오늘 갑자기 어노테이션이 먹통이었다... 에러가 계속 나서 뭔가 했는데 생성자 안 만들어줬다고 난 에러였다. 그래도 자동으로 생성자 만들어주는 기능이 있으니 덜 귀찮았다.

// Parent.java
@Getter
@Setter
public class Parent {
 String name;
 boolean gender;
 
 public Parent() {
 }
 
 public Parent(String name, boolean gender) {
  this.name = name;
  this.gender = gender;
 }
 
 @Override
 public String toString() {
  System.out.println("name: " + name);
  return gender ? "gender: woman" : "gender: man";
 }
}

// Child.java
@Getter
@Setter
public class Child extends Parent {
 int age;
 String nickname;
 
 public Child() {
 }
 
 public Child(String name, boolean gender, int age, String nickname) {
  super.name = name;
  super.gender = gender;
  this.age = age;
  this.nickname = nickname;
 }
 
 
 @Override
 public String toString() {
  System.out.println(super.toString());
  System.out.println("age: " + age);
  System.out.println("nickname: " + nickname);
  return null;
 }
}

// Inheritance.java
public class Inheritance {
 public static void main(String[] args) {
  System.out.println("Inheritance");
  Parent parent = new Parent("yj",true);
  System.out.println(parent);
  System.out.println("----------");
  Child child = new Child("mj",false,23,"MJ");
  System.out.println(child);
 }
}
// Calc.java
public interface Calc {
 public static  final double PI=Math.PI;
 int ERROR = -99999999;
 public abstract int add(int num1, int num2);
 int sub(int num1, int num2);
 int mul(int num1, int num2);
 int div(int num1, int num2);
}

// Calculator.java
public abstract class Calculator implements Calc {
 
 @Override
 public int add(int num1, int num2) {
  return num1 + num2;
 }
 
 @Override
 public int sub(int num1, int num2) {
  return num1 - num2;
 }
}

// CompleteCalc.java
public class CompleteCalc extends Calculator {
 
 @Override
 public int mul(int num1, int num2) {
  return num1 * num2;
 }
 
 @Override
 public int div(int num1, int num2) {
  if(num2 ==0) {return ERROR;} else {return num1/num2;} //잘못 이해하고 예외 처리한 부분
 }
}

// InterfaceTest.java
public class InterfaceTest {
 public static void main(String[] args) {
  CompleteCalc calc = new CompleteCalc();
  int num1=5;
  int num2=0;
  System.out.println(calc.add(num1,num2));
  System.out.println(calc.sub(num1,num2));
  System.out.println(calc.mul(num1,num2));
  System.out.println(calc.div(num1,num2));
 }
}

SAVE 💾

다형성 인터페이스 다운캐스팅 등 이 부분들은 진짜 그 자바 강의 문제가 너무 골고루 잘 다뤄서 혹시 애매하면 그 문제 복습하면 될 것 같다. 스터디도 끝나고 진짜 프로젝트가 내일부터 시작인 게 점점 느껴진다... 무섭기도 하고 떨리기도 하고 설렌다. 기한 안에 잘 맞춰서 진행할 수 있기를@@!!!

0개의 댓글