JAVA

JAVA

Java String 초기화, StringBuilder vs StringBuffer

1. String : 문자열 String은 문자열으로, 조금 특이한 reference type 변수이다. 1) array of char 대부분의 프로그래밍 언어에서 String은 char 타입의 배열로 이루어져있다. char은 유니코드에서 지원하는 charset을 지원하기 위한 2byte의 primitive type 변수이며, 특이하게 양의 타입만을 갖는 unsigned 정수 자료형이다. 이는 자바 역시 마찬가지이다. 문자열 객체의 toCharArray() 메소드를 통해 문자열의 char 하나하나를 뽑아낼 수 있다. public class StringBasic { public static void main(String[] args) { String string = "string"; for (Charact..

JAVA

JVM, 자바 프로그램 실행 과정

1. 자바의 특징 1) 자바는 객체지향의 정신을 언어로 녹여냈다. 객체지향이란, 프로그램을 객체의 상호작용으로 보는 패러다임을 말한다. '객체' 란 현실 세계의 물체를 닮아있으며, 객체 지향에서 객체는 상태값과 메소드를 가진다. 상태값은 말 그대로 특정 객체 인스턴스가 가지는 상태값이며, 메소드는 해당 객체가 할 수 있는 동작, 일을 정의한다. 객체 지향 프로그래밍에서는 이러한 객체를 정의하고, 객체의 상태값과 메소드를 이용해 일련의 기능을 수행하도록 한다. 자바는 객체를 class로 표현한다. 자바의 모든 소스코드는 이 클래스 안에 존재한다. 2) 자바는 JRE가 갖춰진 곳이라면 어디서든 동작한다. 개발자가 작성한 .java 소스코드 파일은 javac 컴파일러에 의해 .class 확장자를 가진 자바 ..

JAVA

JAVA Annotation

1. @Annotation : 메타데이터 자바 소스코드를 읽거나 쓰면 "@" 표시가 붙은 단어와 떨어질 수 없다. @Override, @Bean, @Getter, @Component ... 자바 어노테이션이란, 자바 소스코드의 메타데이터이다. 메타데이터란 데이터 자체에 대한 설명으로, 자바 어노테이션의 경우 자바 소스코드 대한 설명을 담고있다고 이해할 수 있다. 프로그램의 주요 비즈니스 코드와는 큰 관련이 없지만, 코드 자체에 대한 설명이나 횡단 관심사의 기능을 추가하고 싶을때 어노테이션을 이용한다. 2. Annotation 사용하는 이유 1) 코드 가독성 향상 어노테이션은 코드 정보 자체를 담고있다는 특징 때문에 코드의 가독성을 높여준다. 상위 인터페이스나 클래스를 상속 / 구현할 때, 오버라이드 하는..

JAVA

Java immutable 객체

1. Immutable 해야하는 이유 CS에서 말하는 Immutable은 "바뀌지 않음"이다. Immutable 객체란, 생성된 인스턴스의 내부 값이 변하지 않는 클래스를 말한다. 특별한 이유가 없는 한, 프로그래밍에서 객체는 최대한 불변으로 만드는 것이 좋다. 몇 가지 장점이 있기 때문이다. 1) 객체에 대한 신뢰성이 높아짐 객체에 저장된 상태값이 바뀔 가능성이 있는 프로그램에선 객체를 믿지 못한다. 객체를 생성할 때 설정했던 필드값이 바뀔 수도 있다면, 혹시 모를 사고를 피하기 위해 필드 값이 유효한지 검사하는 과정이 필요하다. 혹은 객체 데이터의 무결성을 확인하기 위해 불안에 떨며 프로젝트의 코드를 여기저기 뜯어봐야 할지도 모른다. 이는 생산성의 저하를 불러온다. '한 번 생성된 객체의 값은 변하지..

김부추
'JAVA' 카테고리의 글 목록 (3 Page)