이끌든지 따르든지 비키든지

Software Development/Java 6

[Java] Java 21의 새로운 기능 톺아보기

Java 17에 이은 다음 LTS 버전인 Java 21에 추가된 기능에 대해 알아보도록 하겠습니다. 💡LTS?LTS란, 'Long-Term-Support'의 약자로, LTS 버전은 다른 버전보다 장기적인 지원과 보안 업데이트를 포함하여 상대적으로 긴 기간 동안 지원됩니다.Java의 LTS 버전은 약 3년 주기로 출시되고 있습니다.  Java 21에 추가된 기능 총 15개의 기능이 추가되었고, 이를 4가지 카테고리로 분류할 수 있습니다. Core Java LibraryJEP 431: Sequenced CollectionsJEP 442: Foreign Function & Memory API (Third Preview)JEP 444: Virtual ThreadsJEP 446: Scoped Values (Pr..

[Java] 객체지향 생활 체조 원칙 - 2

(전 글에 이어서 작성) [Java] 객체지향 생활 체조 원칙 - 1SOLID 원칙, 추상화, 다형성···, 객체 지향 프로그래밍(OOP)에 대해 공부할 때 정말 지겹도록 보게 되는 OOP의 특징과 원칙들이 있다. 코드를 객체 지향적으로 작성하려면 이러한 특징들을 지켜야seongho-jo-5.tistory.com6. 줄여 쓰지 않는다.이름이 짧다고 무조건 좋은 것은 아니다. 변수명, 메서드명을 짧게 만들기 위해 보통 단어를 축약하는 방법을 많이 택하지만, 과도한 축약은 오히려 가독성을 떨어트린다. 줄여쓰지 않은 이름이 너무 길다면, 책임을 너무 많이 가져 단일 책임 원칙을 위배하는 것은 아닌지 , 적절한 클래스의 아래에 위치하지 않아 그런 것인지 이유를 생각해보아야 한다. public class Data..

[Java] 객체지향 생활 체조 원칙 - 1

SOLID 원칙, 추상화, 다형성···, 객체 지향 프로그래밍에 대해 공부할 때 정말 지겹도록 보게 되는 OOP의 특징과 원칙들이 있습니다. 코드를 객체 지향적으로 작성하려면 이러한 특징들을 지켜야 하지만, 초보 개발자가 저 원칙들만 보고 코드에 적용하기엔, 개념이 추상적이기에 쉬운 일이 아닙니다.. 객체지향 생활 체조 원칙은 이에 대한 조금 더 구체적인 가이드를 제공한다고 보면 될 듯합니다. 각 원칙과 설명을 읽어보면서 이 원칙이 추구하고자 하는 목표를 생각해 보고 내 코드에 적용한다면 큰 도움이 될 것 같습니다. 객체지향 생활 체조 원칙 한 메서드에 오직 한 단계의 들여 쓰기만 한다. else 예약어를 쓰지 않는다. 모든 원시 값과 문자열을 포장한다. 일급 컬렉션을 쓴다. 한 줄에 점을 하나만 찍는다..

[JAVA] Annotation

Java는 어노테이션(Annotation)이라는 프로그램의 코드에 메타데이터를 추가하는 특별한 형태의 주석을 제공한다. 이 단어의 사전적 의미도 말 그대로 '주석'이다. 자바에서 주석은 // 로 시작하는 거 아니었나요? 둘 다 주석이 맞다. 둘의 차이점은, // 로 시작하는 주석(Comment)은 개발자에게 코드 설명 등 정보를 제공하고, @ 로 시작하는 어노테이션(Annotation)은 프로그램, 컴파일러 등 에게 추가 정보를 제공한다. 주로 사용되는 표준 어노테이션 중 몇 가지를 살펴보자면, @Override 메서드 선언부에 작성해 해당 메서드가 오버라이드되었음을 알리는 어노테이션이다. 컴파일러는 @Override가 붙은 메서드의 오버라이드가 올바르게 이루어졌는지를 검사하고, 잘못된 부분(리턴 타입이..

[JAVA] 객체지향과 자바

객체 지향 프로그래밍(Object Oriented Programming)이란 현실 세계의 객체(Object)를 모델링하고 이러한 객체들 간의 상호 작용을 통해 소프트웨어를 개발하는 방법론을 말한다. 객체 지향 프로그래밍에는 크게 4가지 특징과 5가지 원칙(SOLID 원칙)이 있는데, 이 중 특징과 이에 대한 Java에서의 구현에 대해 알아본다. 캡슐화(Encapsulation) 캡슐화란, 서로 관련 있는 정보나 데이터, 이를 처리하기 위한 기능을 한 곳에 모아 관리하고, 필요한 부분만을 외부로 노출하는 것을 말한다. 캡슐에 담긴 데이터에 대한 직접적인 접근은 허용하지 않고, 대신 이를 확인하거나, 수정할 수 있는 인터페이스를 구현해 이를 통해서만, 데이터에 접근할 수 있도록 하는 정보 은닉이 캡슐화의 핵..

[JAVA] 메소드 오버로딩 & 오버라이딩

JAVA에서는 객체지향 프로그래밍의 특징 중 하나인 다형성(Polymorphism)을 구현하기 위해 메소드 오버라이딩, 메소드 오버로딩 2가지 방식을 사용한다. 두 단어가 비슷하고 부모 클래스로부터 상속 받은 메소드를 사용한다는 점이 같아 헷갈려하는 사람이 많다. 두 방식의 개념을 1줄로 요약하자면.. 메소드 오버로딩 - 새로운 메소드를 정의하는 것 메소드 오버라이딩 - 기존에 있던 메소드 재정의하는 것 메소드 오버로딩(Method Overloading) 모든 접근 제어자(public, private, protected ···)를 사용할 수 있다. 메소드명을 변경할 수 없다. 리턴 타입이 달라도 된다. 매개변수(파라미터)가 달라야 한다. 같은 클래스 내에서만 적용할 수 있다. class Calculato..