반응형

Programming 58

제어문이란?

제어문 코드가 위에서 아래로 순차적으로 실행되는 구문을 순차문이라고 한다. 모든 코드가 순차적으로 실행된다면 좋겠지만 실제로는 그렇지 않다. 제어문은 코드의 실행 흐름을 담당하는 (flow control) 구문으로 제어문은 선택문, 반복문, 분기문으로 나뉜다. 선택문 선택문 혹은 조건문이라고도 한다. 조건식같은 분기로 나누어 결과에 따라 다른 코드를 실행할 수 있게 해주는 구문이다. if 문 if문 안에 있는 조건식이 참일 경우 {}안에 있는 코드가 실행된다. 조건식엔 참, 거짓의 boolean타입만 들어갈 수 있다. if (조건식) { System.out.println("true") // {} 안에 코드가 1줄일 경우 {} 생략 가능 } if else 문 if문 안에 있는 조건식이 참일 경우엔 if문{..

Programming/JAVA 2020.12.29

연산자란?

연산자란? 주어진 식의 결과 값을 산출하는 것을 연산이라고 하는데, 연산을 위해 사용하는 기호를 연산자라고 한다. 산술 연산자 (Arithmetic Operator) 사칙연산과 나머지를 구하는 연산까지 5가지가 있다. (더하기, 빼기, 곱하기, 나누기(몫), 나누기(나머지)) boolean타입을 제외한 모든 Primitive type에서 사용이 가능하다. 컴퓨터 시스템적으로 곱하기와 나누기의 연산방식은 비트를 Shift하여 계산한다. 피연산자들 중 부동 소수점이 있다면 부동 소수점으로 산술된다. 더하기 더하기는 + 연산자를 사용하고, 기본적으로는 두 수의 합을 산출할 때 사용하지만 문자열을 연결 시킬때도 사용할 수 있다. 피연산자 중 문자열이 포함되어 있다면 다른 피연산자도 문자열로 취급되어 결과값도 문..

Programming/JAVA 2020.12.22

데이터 타입, 변수, 배열 그리고 타입추론

데이터 타입 JAVA의 데이터 타입은 Primitve Type과 Reference Type으로 나뉜다. 기본형 타입 (Primitive Type) 미리 정의되어 제공되는 데이터 타입으로 원시 타입이라고도 함. 기본값이 있기 때문에 Null을 허용하지 않는다. 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 사용해야한다. 스택(Stack) 메모리에 실제값을 저장한다. 값을 저장할 수 있는 범위가 있어 크기를 벗어나면 컴파일 에러가 난다. 타입 할당되는 메모리 크기 기본값 데이터 표현 범위 논리형 boolean 1 byte false true, false 정수형 byte 1 byte 0 -128 ~ 127 short 2 byte 0 -32, 768 ~ 32,767 int 4 byte 0 -2, 147, ..

Programming/JAVA 2020.12.21

JVM이란?

JVM 이란? Java Virtual Machine의 약자로 자바 가상 머신을 의미 한다. Java Byte Code를 OS에 맞게 해석을 해주기 때문에 JAVA의 애플리케이션이 OS에 영향을 받지 않고 실행할 수 있게해주는 역할을 한다. Java Compiler가 .java파일을 .class파일인 Java Byte Code로 변환을 해준다. 하지만 Java Byte Code는 OS에서 바로 실행 할 수가 없다. 이 Byte Code를 OS에 맞게 실행할 수 있게 해석해주는 것이 JVM이다. 자바 바이트 코드 (Java Byte Code) JVM이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미한다. (.class파일) 자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트여서 자바 바이트 코..

Programming/JAVA 2020.12.21

[JAVA] Arrays.asList()

Arrays.asList Arrays.asList의 패키지는 java.util.Arrays로 보통의 사용하던 java.util.ArrayList의 ArrayList와는 다르다. java.util.Arrays의 ArrayList 클래스는 remove(), add() 메소드를 제공하지 않고 set(), get(), contains()를 제공한다. 배열에 엘리먼트를 추가하거나 삭제할 수 없어서 배열의 사이즈를 변경할 수 없다. Array를 List 처럼 사용할 수 있게 도와주는 클래스 String[] strs = {"apple", "banana", "orange"}; // List list = new ArrayList(); 대신 사용이 가능하다. List list = Arrays.asList(strs); st..

Programming/JAVA 2020.09.17

[Spring] 빈 (Bean)

Bean Bean은 IoC Container가 관리하는 객체를 말한다. 직접 new를해서 만든 인스턴스, 객체는 Bean이 아니다. ExamController Example = new ExamController(); ExamController bean = applicationContext.getBean(ExamController.class); 위 예제 중 둘다 같은 객체는 맞지만 Example은 Bean이 아니고 아래 bean 객체만 Bean이다. 그 이유는 applicationContext가 관리하는 객체에서 가져온것이기 때문이다. applicationContext에는 모든 Bean이 등록되어 있다. BeanFactory 인터페이스는 Container 자체라고 보면된다. 그래서 모든 Bean의 정보를 ..

[Spring] 의존성 주입 DI (Dependency Injection)

DI DI는 Dependency Injection의 약자로 직역하면 의존성 주입을 말한다. 객체간의 의존성을 생성자(Constructor) 또는 세터(Setter)를 통해 주입하는 것을 말한다. 의존관계는 간단히 말해 new 라는 키워드를 통해 생성이 된다. 의존성 주입은 IoC 원칙하에 객체간의 결합을 약하게 해주고 유지보수가 좋은 코드를 만들어 준다. 스프링에서의 의존성 주입은 외부 환경설정 (Spring config, xml, annotation 등을 통해서 이뤄진다. Bean 설정 정보를 바탕으로 Container가 자동적으로 연결해주는것을 말한다. 스프링의 의존성 주입의 3가지 유형 생성자를 이용한 의존성 주입 (Constructor Injection) Spring 4.X 이상부터 권장되는 방식..

[Spring] IoC Container의 기본 개념

IoC IoC는 Inversion Of Control로 직역하면 제어의 역전이 된다. 제어의 역전이란 클라이언트 코드가 제어를 가지고 있었던 것에서 프레임워크(Container)가 제어를 가지게 함으로써 클라이언트 코드의 제어 수를 줄이게 하는 것이다. 즉 모든 제어를 클라이언트 코드가 가지고 있던것을 프레임 워크가 제어를 가지는 것을 제어의 역전이라 부르는 것이다. IoC Container 스프링에서는 컨테이너(Container)라는 곳에 Bean이라고하는 인스턴스의 형태로 관리한다. 쉽게말해 IoC Container란 객체의 생성과 의존성을 관리하는 container이다. 설정값들을 토대로 컨테이너를 생성하여 Bean 객체들을 관리한다. BeanFactory 객체를 통해 컨테이너에 등록되어 있을 시 ..

[JAVA] 쓰레드 (Thread), Runnable 인터페이스

쓰레드 (Thread) 쓰레드를 알기 위해선 먼저 프로세스(process)에 대해 알아야한다. 프로세스란 쉽게 말해 실행되고 있는 프로그램이다. 그렇다면 쓰레드란 무엇일까? 쓰레드란 프로세스 내에서 실행되는 작업 단위를 말한다. 프로그램은 코드를 작성한대로 순차적으로 실행이 되는데 이 쓰레드를 이용하면 동시의 여러개의 코드를 실행할 수 있다. 여러 쓰레드를 이용하여 프로그램을 동시에 여러 동작으로 실행시키는것을 멀티쓰레딩이라고 한다. 멀티 쓰레딩 예제 (Thread 클래스 상속) public class ThreadTest extends Thread{ String name; int num; public ThreadTest(String name, int num) { // TODO Auto-generated ..

Programming/JAVA 2020.03.15

[JAVA] 접근 지정자, Final 기본적인 개념

접근 지정자 접근지정자는 클래스 내에서 멤버의 접근할 수 있는 범위를 제한해주는 역할을 한다. 접근 제한자라고도 불린다. 접근 지정자로는 public, protected, default, private과 같이 4가지가 있다. Public 모든 접근을 허용한다. protected 같은 패키지에서만 접근이 가능하고, 다른 패키지라면 상속을 받은 클래스에서는 접근이 가능하다. default protected에서 상속의 개념을 뺀것으로 생각하면 된다. 접근지정자를 적지 않을경우 자동으로 지정된다. 같은 패키지에서만 접근이 가능하다. private 같은 클래스 내에서만 접근이 가능하다. 접근 지정자 // 동일 클래스 // 동일 패키지 // 다른 패키지 상속관계 // 다른 패키지 public O O O O prot..

Programming/JAVA 2020.03.02
반응형