- 문제 자연수 n이 입력으로 주어졌을 때 만약 n이 짝수이면 "n is even"을, 홀수이면 "n is odd"를 출력하는 코드를 작성해 보세요. - 답 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if (n % 2 == 0) { System.out.print(n + " is even"); System.out.println(); } else { System.out.print(n + " is odd"); System.out.println(); } } } - 해설 if문 -> if (..
- 문제 두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요. - 답 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); System.out.println(a + " + " + b + " = "+ (a + b)); } } - 해설 +를 이용하여 문자열 합칠 수 있음
- 문제 문자열 str과 정수 n이 주어집니다. str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요. - 답 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); int n = sc.nextInt(); for (int i = 0; i < n; i++) { System.out.print(str); } } } - 해설 n번 반복하기위해 for문 이용
- 문제 정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요. - 답 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); System.out.print("a = " + a); System.out.println(); System.out.print("b = " + b); System.out.println(); } } - 해설 자바는 작음따옴표('')말고 쌍따옴표("")를 써야함
MVC Model - View - Controller 소프트웨어 아키텍처 디자인 패턴의 한 종류 사용자 인터페이스와 비즈니스 로직을 분리하고 각각을 독립적으로 유지하여 유연하고 확장 가능한 코드 생산 가능 Model 데이터와 비즈니스 로직을 담당 데이터를 관리하고 변경이 발생하면 View에게 알림 DB와 연동을 위한 DAO(Data Access Objecr)와 데이터 구조를 표현하는 DO(Data Objecr)로 구성 View 데이터를 사용자에게 보여주는 사용자 인터페이스(UI)를 담당 모델의 데이터를 표현 사용자의 입력을 받아 컨트롤러에 전달 Controller 모델(Model)과 뷰(View) 사이의 연결고리 역할을 수행 뷰에서 사용자의 입력을 받아 모델을 업데이트 모델의 변경 사항을 뷰에 반영 기본..
웹 서비스 동작 방식 웹 서비스는 기본적으로 HTTP 요청과 응답의 반복으로 이루어짐 HTTP 요청은 사용자가 어떤 데이터가 필요한지 서버에게 알리는 역할 HTTP 응답은 HTTP 요청에 해당하는 적절한 데이터를 전달하는 역할 브라우저가 인터넷을 통해 HTTP 요청을 서버에 전달 서버는 사용자의 HTTP 응답을 브라우저로 전송 브라우저는 HTTP 응답을 사용자에게 적절한 화면으로 노출 백엔드와 프론트엔드 웹 서비스 개발에서 백엔드와 프론트엔드 라는 단어를 많이 접하게 됨 프론트엔드는 사용자가 직접 사용하게 되는 웹 페이지를 주로 담당 = 클라이언트 백엔드는 사용자에게 보이지 않는 데이터 가공 등의 기능을 주로 담당 = 서버 동적 웹 Web 2.0 사용자와 상호작용을 함 - 양방향 통신 구글 맵, 웹 채팅..
제어 역전(IoC, Inversion of Control) 객체의 생명주기 관리를 외부(Spring 컨테이너, IoC 컨테이너)에 위임 제어 역전을 통해 의존성 주입(DI)과 관점 지향 프로그래밍(AOP) 가능 의존성 주입 방법 3가지 생성자를 통한 의존성 주입 필드 객체 선언을 통한 의존성 주입 setter 메서드를 통한 의존성 주입 관점 지향 프로그래밍(AOP, Aspect-Oriented Programming) 관점(Aspect)을 기준으로 묶어 개발하는 방식 주로 로깅과 트랜잭션과 같이 반복적으로 사용되는 부가 기능을 공통 로직으로 처리하도록 모듈화해 삽입 OOP를 대체하는 개념이 아닌 OOP를 더 잘 사용하도록 돕는 개념 스프링프레임워크 특징 POJO: 다른 기술은 사용하지 않고 순수 Java만..