본문 바로가기

Java64

[Java] 캡슐화 (Encapsulation)란 무엇일까 객체지향 언어에서는 캡슐화라는 말을 사용한다. 캡슐화란 무었일까. 이번 포스티에서는 자바에서 사용하는 캡슐화를 알아보자. 자바의 캡슐화 Encapsulation 객체지향 프로그래밍(OOP)의 개념 중 하나로, 데이터와 해당 데이터를 다루는 메서드들을 하나의 단위로 묶어 정보 은닉과 보안을 강화하는 개념을 자바의 캡슐화라고 한다. 캡슐화는 객체의 내부 상태를 외부로부터 감추고, 외부에서는 오직 공개된 메서드를 통해서만 내부 상태에 접근할 수 있도록 하는 것을 의미한다. 자바에서 캡슐화를 구현하는 방법은 주로 두 가지 요소를 활용하여 이루어진다. private 접근 제한자 멤버 변수를 'private'으로 선언하여 클래스 외부에서 직접 접근할 수 없게 한다. 이로써 내부 데이터에 직접 접근하는 것을 막고, .. 2023. 9. 7.
[Java] 자바의 정적(Static) 변수 사용하기 자바(Java)에서는 클래스를 만들고 내부에 변수를 선언한다. 변수는 접근 제어자를 이용해서 공개하거나 비공개 처리해서 내부에서만 사용할 수 있게 만들 수 있다. 그리고 또 한 가지! 정적 변수가 있다. 이번 포스팅에서는 정적변수에 대해서 알아보자. 정적 변수 Static Variable 자바에서는 정적 'static' 키워드가 있다. 그리고 이 키워드를 붙여서 사용하는 변수가 있다. 이 정적 변수는 클래스 레벨의 변수로, 해당 클래스의 모든 인스턴스가 공유하는 변수를 의미한다. 이 변수는 클래스가 로드될 때 메모리에 할당되며, 클래스의 모든 인스턴스가 해당 변수에 접근할 수 있다. 따라서 'static' 변수는 클래스 내부에서 인스턴스 변수와는 다른 특성을 가지고 있다. 정적 변수의 특징 정적 변수의 .. 2023. 9. 6.
[Java] 문자열을 다루는 클래스 (String, StringBuffer, StringBuilder) 자바에서는 문자열을 다루는 클래스들이 다수 존재한다. 프로그래밍을 하다 보면 많은 문자열들을 다루게 되고 보다 효율적으로 메모리 관리를 하고 싶어 지기 때문이다. 이번 포스팅에서는 클래스별로 문자열을 다루고 저장하는 방법에 대해 알아보자. String 클래스 'String' 클래스는 자바(Java)에서 문자열을 다루는 가장 기본적인 클래스다. 하지만 'String' 객체는 한 번 생성되면 수정할 수 없다. 즉, 새로운 문자열이 추가되거나 삭제가 필요할 경우, 새롭게 만들어야 하며 원래 문자열은 불변으로 수정이 불가능하다. String str = "Hello"; str = str + " World"; // 새로운 객체가 생성됨 이 경우 문자열 연산이 빈번하게 발생할 경우 메모리 사용량이 늘어날 수 있다는 .. 2023. 9. 5.
[Java] 반복문 foreach 사용 방법 자바(Java)에서 사용하는 대표적인 반복문에는 'for', 'while', 'do-while' 문법이 있다. 그 밖에도 정말 많이 사용하는 반복문 문법이 있다. 바로 'foreach' 반복문이다. 이번 포스팅에서는 'foreach' 반복문에 대해서 알아보자. 반복문 'foreach' 반복문 'foreach'는 컬렉션의 각 요소를 순회하며 작업을 수행하는 데 사용된다. 여기서 컬렉션은 자료구조의 형태로 대표적인 컬렉션은 리스트가 있다. 자바에서는 주로 배열과 컬렉션(List, Set,..)에 대해 'foreach' 반복문을 사용한다. 자바에서 'foreach' 반복문은 다음과 같은 구조를 가진다. for ([데이터 타입] [변수] : 컬렉션) { // 작업 수행 } 여기서 '데이터 타입'은 컬렉션에 들어.. 2023. 9. 4.
[Java] Java14에서 추가된 switch 문법: JEP 361 자바에서는 조건문을 사용할 때 사용할 수 있는 switch 문법이 있다. 여러 가지 case를 고려해서 조금 간결해 보이는 문법으로 표현할 수 있다. 그리고 이 문법에서 추가적으로 Java 14부터 새롭게 추가된 switch 문법이 있다. 이번 포스팅에서는 새롭게 추가된 switch 문법에 대해서 알아보자. Java14 switch 문법: JEP 361 자바에서 switch 문법은 조금씩 변경되거나 추가되어 왔다. 우선 자바에서 사용하는 switch 문법은 아래 링크에서 확인하자. 2023.08.19 - [쿤즈 Dev/Java] - [Java] 조건문 (switch) 사용 방법 [Java] 조건문 (switch) 사용 방법 이전 포스팅에서 조건문 (if) 사용 방법과 삼항 연산자 사용 방법에 대해서 알아.. 2023. 9. 3.
[Java] 객체 배열 (Array of Object) 사용 방법 일반적으로 객체 배열보다는 리스트 자료구조에 담아서 사용한다. 하지만 알고 사용하지 않는 것도 모르고 사용하지 않는 것은 다르기에 객체를 이용한 배열도 간단하게 설명하고 넘어가 보자. 이번 포스팅에서는 개발자가 만든 클래스를 객체로 만들 때 배열로 만드는 방법에 대해서 알아보자. 객체 배열 Array of Object 객체 배열 (Array of Object)은 객체들을 요소로 갖는 배열을 의미한다. 자바에서는 객체 클래스의 인스턴스로 나타내며, 이러한 객체들을 배열에 저장할 수 있다. 이렇게 하면 여러 객체를 하나의 배열에 모아서 관리하고 처리할 수 있다. 예를 들어, 'Student' 클래스가 있고 이 클래스의 인스턴스를 배열에 저장한다고 가정해 보자. // 학생 클래스 public class Stu.. 2023. 9. 2.
[Java] 다중 배열(Multi-dimensional Array) 사용 방법 지난 포스팅에서는 배열에 대해서 알아보았다. 배열은 같은 종류의 데이터 타입을 하나의 변수에 묶어서 사용할 수 있도록 만든 자료구조다. 그래서 여러 개의 데이터를 묶음으로 처리하기 편리한 구조이다. 이번 포스팅에서는 이 배열 안에 배열이 중첩하여 구성하는 다중 배열에 대해서 알아보자. 다중 배열 Multi-dimensional Array 다중 배열은 배열 안에 배열을 중첩하여 구성하는 자료구조다. 이를 통해 행과 열 또는 더 많은 차원을 가진 데이터를 효과적으로 표현하고 처리할 수 있다. 가장 흔한 형태는 2차원 배열이지만, 3차원 이상의 다중 배열도 가능하다. 2차원 배열을 예로 들어보자. 2차원 배열은 행(row)과 열(column)로 구성되며, 각 요소에는 2개의 인덱스(행 인덱스, 열 인덱스)를 .. 2023. 9. 1.
[Java] 배열 (Arrays) 사용 방법 자바(Java)에서 배열(Array)은 동일 데이터 타입을 가진 요소들의 모음을 저장하는 자료구조이다. 자료구조는 기본적인 학습이 다 끝나고 나면 추가적으로 배울 수 있다. 이번 포스팅에서는 자바에서 사용하는 배열에 대해서 알아보자. 배열(Array)이란 배열은 위에서 설명했듯 동일한 데이터 타입을 저장하는 자료구조다. 배열은 인덱스를 사용하여 각 요소에 접근할 수 있다. 배열을 사용하면 여러 개의 값을 한 번에 저장하고 관리할 수 있다. 자바 배열에 대한 주요 특징과 사용법은 다음과 같다. 고정 크기 배열은 생성할 때 크기를 지정한다. 생성 후에 크기를 변경할 수 없다. 배열의 크기는 선언 시 결정되므로, 미리 크기를 예측하여 정해야 한다. 동일한 데이터 타입 배열의 모든 요소는 동일한 데이터 타입을 .. 2023. 8. 31.
[Java] 메서드 오버로딩 (Method Overloading) 메서드 오버로딩은 지난 포스팅에서 확인했던 메서드의 개념에서 추가적인 개념이다. 메서드에 대해서 이해가 가지 않는 부분이 있다면 앞선 포스팅에서 확인하기 바란다. 2023.08.26 - [쿤즈 Dev/Java] - [Java] 메서드 (Method) 사용 방법 이번 포스팅에서는 메서드 오버로딩의 개념과 어떻게 사용하는지 알아보자. 메서드 오버로딩 (Method Overloading) 메서드 오버로딩(Method Overloading)은 동일한 메서드 이름을 가지면서 매개변수(parameter)의 개수나 타입이 다른 여러 개의 메서드를 정의하는 것을 말한다. 일반적으로 메서드 이름은 중복해서 사용할 수 없다. 하지만 오버로딩이라는 개념을 통해서 동일한 이름이지만 다르게 사용할 수 있다는 내용이다. 메서드 .. 2023. 8. 27.