[JAVA] Integer
·
Programming Language/JAVA
Integer.parseInt()String 타입의 문자열을 int 타입으로 변환할 때 사용Integer.compare()두 개의 int 값을 비교하는 함수-1 : 첫 번째 정수가 두 번째 정수보다 작은 경우0: 두 정수가 같은 경우1 : 첫 번째 정수가 두 번째 정수보다 큰 경우int a = 1;int b = 2;int result = Integer.compare(a, b);if(result == 0) { System.out.println("a와 b는 동일");} else if(result == 1) { System.out.println("a가 b보다 크다");} else { System.out.println("a가 b보다 작다");}
[JAVA] 직렬화 & 역직렬화
·
Programming Language/JAVA
직렬화 (Serializaion)직렬화는 객체를 저장 가능한 상태 혹은 전송 가능한 상태(네트워크 상의 데이터 스트림 형태)로 변환하는 것객체를 저장, 전송할 수 있는 특정 포맷 상태로 바꾸는 과정역직렬화 (Deserialization)특정 포맷 상태의 데이터를 다시 객체로 변환하는 것데이터 직렬화 포맷CSV, XML, JSON 형태의 직렬화사람이 읽을 수 있음저장 공간의 효율성이 상대적으로 떨어지고, 파싱 하는 시간이 오래 걸림주로 데이터의 양이 적을 때 사용Binary 직렬화사람이 읽을 수 없음저장 공간의 효율성이 상대적으로 높고, 파싱 하는 시간이 빠름주로 데이터의 양이 많을 때 사용모든 시스템에서 사용 가능java 직렬화java 시스템 간의 데이터 교환이 필요할 때 사용Serializable 인터..
[JAVA] StringBuffer & StringBuilder 특징
·
Programming Language/JAVA
공통점 new 연산으로 클래스를 한 번만 만듦 문자열 연산 시 새로 객체를 만들지 않고 크기를 변경함 메서드가 동일 가변성을 가짐 코드 String str = "strA"; StringBuilder sbd = new StringBuilder(); StringBuffer sbf = new StringBuffer(); sbd.append("sbdA"); sbf.append("sbfA"); System.out.println("String 객체의 주소 : "+str.hashCode()); System.out.println("StringBuilder 객체의 주소 : "+sbd.hashCode()); System.out.println("StringBuffer 객체의 주소 : "+sbf.hashCode()); str..
[JAVA] 정적 & 동적
·
Programming Language/JAVA
정적(static) 한 번 정해놓으면 변하지 않고 계속 유지되는 성질 정적할당 대체로 Stack 영역에 메모리를 할당 정적언어 변수의 Type을 컴파일 시에 결정하는 것 Java, Kotlin, C 등의 언어 변수에 넣을 데이터에 따라 자료형을 지정해주어야 함 장점 실행 시점에 어떤 메서드를 호출할지 알아내는 과정 필요 없이 메서드 호출이 빠름 컴파일러가 프로그램 정확성을 검증하기 때문에 실행 프로그램이 오류로 중단될 가능성이 적음 유지보수 쉬움 단점 Type 설정을 해줘야 함 동적(dynamic) 실시간으로 상황에 따라 변경이 가능한 것 ArrayList나 객체 즉, 동적 메모리 Heap에 생성되는 것들 동적할당 Heap 영역에 메모리를 할당 동적언어 변수의 Type을 컴파일 실행 시에 결정 JavaS..
[JAVA] 디자인패턴
·
Programming Language/JAVA
디자인 패턴 자주 사용하는 설계 형태를 정형화해서 이를 유형별로 설계 템플릿을 만들어둔 것 객체지향 언어를 이용해 프로그래밍 할 때 디자인 패턴을 사용한다면 보다 효율적이고 재사용성이 높은 설계 가능 유지보수 용이 디자인 패턴의 종류 GoF(Gang of Four)가 정의하는 디자인 패턴 → 총 23가지 생성 패턴(Creational Pattern) 객체를 생성하는 것과 관련된 패턴으로 객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화 하도록 만들어 줌 유연성 높일 수 있고 코드를 유지하기 쉬운 편 종류 Factory Method : 생성할 객체의 클래스를 국한하지 않고 객체 생성 Singleton : 한 클래스에 한 객체만 존재하도록 제한함 Prototype : 기존 객체를 복제함으로써 객체를 ..
[JAVA] 절차 지향 프로그래밍
·
Programming Language/JAVA
절차 지향 프로그래밍 일련의 절차 또는 기능으로 코드를 구성하는데 중점을 둔 프로그래밍 프로그램의 순서와 흐름을 먼저 세우고 필요한 자료구조와 함수들을 설계하는 방식 C, Visual Basic, Fortran, Pascal 등 특징 하나의 큰 기능을 처리하기 위해 작은 단위의 기능들로 나누어 처리하는 Top-Down 접근 방식으로 설계됨 데이터와 함수를 별개로 취급함 모든 함수는 데이터 공유가 가능 정해진 순서대로 입력해야 하므로 순서가 바뀌면 결과를 도출하기 어려움 프로그램이 커질수록 구조가 복잡해져 유지보수가 어려움(소형 프로젝트에 적합)