2020년 11월부터 네이버 웍스(웍스 모바일 or 라인 웍스) 인턴을 시작하였고, 정직원 전환에 성공하여 2월 말부터 근무를 시작하게 되었습니다. 이번 포스팅에서는 네이버 웍스에 취업하게 된 과정을 소개하고, 취업을 준비하시는 다른 분들에게 도움을 드리고자 합니다. 1. 네이버 웍스 취업 과정 [ 1. 자기소개서 ] 자기소개서는 총 4문항이 있었고, 모두 분량의 제한은 없었습니다. 모든 내용을 공개하기에는 불가능하니 어떠한 내용들을 다루었고, 몇자 정도 작성했는지 등의 핵심적인 내용들만 다루도록 하겠습니다. (제가 자기소개서를 잘 쓰지 못하는 편이니 가볍게 참고하시는 것을 권장드립니다) 1. 자신에 대해 자유롭게 표현해 주세요. 이 항목에 대해서는 제가 목표로 하는 개발자의 모습, 개발자로서 제가 갖고..
이펙티브 자바를 읽으면서 제가 제대로 적용하지 못했던 부분 혹은 개념적으로 부족했던 부분을 정리하고, 앞으로의 개발에 적용해보고자 합니다. 1. 객체의 생성과 파괴 [ 1. 생성자 대신 정적 팩토리 메서드를 이용하라 ] 메소드 이름을 가질 수 있다. -> 명확한 이름으로 값을 생성할 수 있다. 호출 때 마다 인스턴스를 새로 생성하지 않을 수 있다. 하위 클래스를 반환하는 유연성을 얻을 수 있다. 매개 변수에 따라 매번 다른 클래스의 객체를 반환할 수 있다. 정적 팩토리 메소드를 작성하는 시점에는 해당 객체의 클래스가 존재하지 않아도 된다. 정적 팩토리 메소드를 작성하는 시점에는 해당 객체의 클래스가 존재하지 않아도 된다. 하지만 정적 팩토리 메서드 역시 다음과 같은 단점이 있다. 하위 클래스로 상속하기 ..
두 번째로 클린코드를 읽으면서 처음 읽었을때와 느꼈던 점이 조금 달라진 것 같습니다. 이번에도 역시 제가 제대로 적용하지 못했던 부분 혹은 개념적으로 부족했던 부분을 정리하고, 앞으로의 개발에 적용해보고자 합니다. 1. 클린코드 핵심 요약 및 정리 [ 1. 객체의 생성에도 유의미한 이름을 사용하라 ] 객체의 생성자가 오버로딩 되는 경우 어떠한 값으로 어떻게 생성되는지 정보가 부족할 수 있다. 그러므로 이러한 경우에는 정적 팩토리 메소드를 사용하는 것이 보다 명확한 코드를 작성하게 해 줄 것이다. 하지만 구현을 드러내는 이름은 피하는 것이 좋다. (p32 참고) // 두 번째 인자가 무엇인지 파악이 어렵다. Product product = new Product("사과", 10000); // 이름을 부여하여..
클린코드를 읽어도, 이펙티브 자바를 읽어도, 개발을 잘하는 팀의 얘기를 들어도 항상 좋은 코드를 얘기할 때면 불변의 객체를 필연적으로 접하게 되는 것 같습니다. 그래서 이번에는 불변의 객체를 사용해야 하는 이유에 대해서 알아고자 합니다. 1. 불변 객체(Immutable Object) 및 final을 사용해야 하는 이유 [ 불변 객체(Immutable Object)란? ] 불변 객체란 객체 생성 이후 내부의 상태가 변하지 않는 객체이다. 불변 객체는 read-only 메소드만을 제공하며, 객체의 내부 상태를 제공하는 메소드를 제공하지 않거나 방어적 복사(defensive-copy)를 통해 제공한다. Java의 대표적인 불변 객체로는 String이 있다. String name = "Old"; name.to..
코드를 작성하다보니 동일한 어노테이션을 여러 클래스에 반복적으로 작성해야 하는 상황이 발생하였다. 이러한 작업이 상당히 번거롭게 느껴졌고, 이러한 반복 작업을 줄이고자 커스텀 어노테이션을 만들어 적용하게 되었는데, 이에 대해 자세히 알아보도록 하자. 1. 다양한 Java 어노테이션 [ 어노테이션의 종류 ] 어노테이션을 직접 개발하기 위해서는 Java에서 제공하는 어노테이션에 대해 먼저 알아야 한다. Java의 어노테이션은 크게 built-in 어노테이션(Built-in Annotation)과 Meta 어노테이션(Meta Annotation)이 존재한다. built-in 어노테이션 Java 코드에 적용되는 어노테이션 @Overrie, @Deprecated, @SuppressWarnings 등이 존재 met..