본문 바로가기
728x90

Java5

[Java] 불변 객체(Immutable Object) [Java] 불변 객체(Immutable Object) 개발자인 우리는 불변이라고 하면 final이 먼저 생각날 것이다. 자바의 final은 한 번만 할당이 가능하다는 것을 알고 있을 것이다. 재할당을 하려고 하면 컴파일 오류가 당연히 생길 것이다. 이것은 변하면 안 되는 변수, 메서드, 클래스에 예약어로 붙어서 우리가 코드를 구현할 때 실수하지 않게, 로직에만 집중할 수 있도록 도와준다. 1. 불변 객체(Immutable Object)란? 그렇다면 이번 포스팅에서 설명할 불변 객체는 무엇일까? 이해를 쉽게 하기 위해서는 반대 개념이 있는지를 먼저 살펴보는 것도 좋다. 그렇다고 하면, '가변 객체'가 있는 지를 짧게 생각해보자. 우리는 클래스를 만들기도 하고, 만들어져있는 클래스를 가져와서 객체로 만들기.. 2022. 8. 7.
[Java] 배열, 다차원 배열 [Java] 배열, 다차원 배열 파이썬의 리스트, 자바의 배열 무엇이 다른지는 자료구조 학습을 통해 알게 되었다. 배열은 메모리를 할당받아 길이가 정해져있다는 것, 리스트는 각 데이터 마다 노드와 링크로 이어져 길이 제한이 없다는 것. 배열은 길이를 한 번 정하면 바꾸기 어렵다. 새로운 배열을 만들어 그 속에 기존의 데이터를 넣고, 새로 데이터를 추가하는 방법을 써야 한다. 이러한 배열을 다시 자바 식으로 리마인드 해본다. 1. 배열 import java.util.Scanner; public class ArrayMaxValueFind { public static int max(int a, int b) { return (a > b) ? a : b; } public static void main(String.. 2022. 6. 13.
[Java] 사용자 정의 함수 [Java] 사용자 정의 함수 객체 지향에서 개발자가 정의하는 메소드는 아주 기본 중에 기본이다. 메소드를 활용해서 데이터를 통제할 수 있기 때문이다. 그렇게 해서 사용자가 어떤 데이터를 집어 넣으면 메소드를 통해서 정보가 저장이 되고 기존에 있는 데이터를 불러와서 매치 시켜보고, 맞으면 돈을 인출해준다던지 (볼드체가 메소드를 통해 이루어지는 행위들이다.) 아무튼 가장 기본중에 기본이다. 그럼 사용자 정의 함수가 있으면, 사용자가 정의하지 않는 함수도 있다? 그렇다. 기본으로 내장되어 있는 함수가 그러하다. 앞서 봤던 substring();이라던지, 제일 처음 자바를 마주할 때 쓰는 System.out.println(); 이것들이 사용자가 정의하지 않는 기본 함수 즉, 내장함수이다. 세 가지의 활동을 통.. 2022. 6. 13.
[Java] 증감 연산자, 거듭제곱, 삼항 연산자, 파일 입출력 [Java] 증감 연산자, 거듭제곱, 삼항 연산자, 파일 입출력 1. 증감 연산자 public class Main { public static void main(String[] args) { // TODO Auto-generated method stub int a = 10; System.out.println("현재 a는 " + a + "입니다." ); a++; System.out.println("현재 a는 " + a + "입니다." ); // 출력 전에 ++ 연산 System.out.println("현재 a는 " + ++a + "입니다." ); // 출력 후에 ++ 연산 System.out.println("현재 a는 " + a++ + "입니다." ); System.out.println("현재 a는 " +.. 2022. 6. 12.
[Java] 자바 데이터 타입, 사칙연산, substring [Java] 자바 데이터 타입 어쩌다 보니 다시 자바를 공부하게 되었다. 자바를 위주로 알고리즘 공부도 진행하게 되지 않을까 싶다. Hello World는 한참 전에 찍어봤기 때문에 데이터 타입부터 리마인딩 한다는 생각으로 강의를 듣고 왔다. 동빈나님의 강의인데 아주 간결하고, 기존에 지식이 있는 사람이 듣기에 아주 좋다고 생각한다. 객체 지향 프로그래밍까지의 기억을 되살려줄 수 있는 강의라고 보면 된다. https://youtu.be/wjLwmWyItWI https://youtu.be/wjLwmWyItWI 동빈나님은 코딩테스트 책을 알아보다가 알게 되었고, 강의를 하나씩 들어보니 아주 간결하고 알아듣기 좋았다. 그래서 이번 자바 리마인딩도 동빈나님의 자바 강의가 있어 들어보았다. 강의 포스팅은 강의에서.. 2022. 6. 12.
728x90