인터페이스 : Java에서 클래스에 포함하는 메서드의 구체적인 내용을 작성하지 않고 상수와 메서드 타입만 정의한 것을 말한다. - 인터페이스는 다른 클래스에서 구현하는 것을 전제로 만들어진다. - 그래서 인터페이스를 선언한 메서드는 암묵적으로 public abstract 접근 제어자가 붙은 추상 클래스라고 불린다. - 인터페이스를 구현할 때는 implements 키워드를 사용한다. - 인터페이스로 정의되는 추상 메서드를 모두 구현할 필요가 있어 구현하지 않는 경우에는 컴파일 에러가 발생한다. - 인터페이스의 추상 메서드는 암묵적으로 public abstract 한정자가 붙기 때문에 구현할 때는 public을 선언해 둘 필요가 있다. @Override : 슈퍼 클래스나 인터페이스의 메서드를 상속 혹은 구현..
스프링 프레임워크의 구성 1. 스프링 부트(Spring Boot) : 스프링 애플리케이션을 복잡한 설명 없이 빠르게 작성하는 기능을 제공한다. 2. 스프링 프로젝트 1) 스프링 MVC : 웹 애플리케이션을 간단하게 생성하는 기능을 제공한다. 2) 스프링 데이터 : 데이터 접근에 관한 기능을 제공한다. 3) 스프링 배치(Spring Batch) : 배치 처리 기능을 제공한다. 4) 스프링 시큐리티(Spring Security) : 인증/허가 기능을 제공한다. 3. 스프링 코어 1) 스프링 DI : 의존성 주입(Dependency Injection) 기능을 제공한다. 2) 스프링 AOP : 관점 지향 프로그래밍(Aspect Oriented Programming) 기능을 제공한다. [스프링부트의 장점] * 웹..

클라이언트와 서버 * 클라이언트 - 서비스를 요청하는 쪽. * 서버 - 서비스를 제공하는 쪽 - 즉 서버가 서비스를 제공해 그 서비스를 클라이언트가 사용하는 관계 웹 서버 - 웹 서버는 항상 실행되며 클라이언트로부터 액세스(요청)을 항상 기다린다. HTTP 통신(프로토콜) - 클라이언트와 웹 서버는 HTTP 요청(request)과 응답(response) 로 상호작용한다. 1) 클라이언트가 브라우저에 URL을 입력한다. 2) 클라이언트에서 웹 서버로 HTTP 요청이 전송된다. 3) 웹 서버는 HTTP요청을 받아 HTTP 요청에 해당하는 HTTP응답을 클라이언트에게 반환한다. 4) 브라우저는 받은 응답을 표시하고 클라이언트가 이를 확인한다. GET 메서드와 POST 메서드 - 전자는 브라우저에서 웹 서버로 ..
Getter / Setter / 상속 개념설명 getter/setter 클래스에는 개인정보와 같이 민감하고 중요한 정보가 많이 있기 때문에 함부로 접근하고 값을 변경 하지 않도록 최소한의 허들을 두어야 하는데요. 지난시간에 배웠던 접근제어자 를 통해 해당 클래스의 접근 범위를 설정할 수 있었습니다. 일반적으로 멤버변수는 private로 설정이 되고, 해당 클래스의 인스턴스 생성시 값을 변경하거나 가져올때에는 클래스의 해당메서드를 통해서만 그 기능을 할 수 있도록 하고 있습니다. 따라서 접근제어자가 private 인 경우, 어떻게 다른 클래스에서 인스턴스를 생성하고 객체의 값을 넣고 가져오는지 getter/ setter 문법을 복습해 보도록 하는 시간입니다. // setter // 메서드 (public) ..
public class Practice { public static void main(String[] args) { boolean run = true; int studentNum = 0; int[] scores = null; Scanner sc = new Scanner(System.in); while (run) { System.out.println("--------------------------------------------------------"); System.out.println(" 1. 학생수 | 2. 점수입력 | 3. 점수리스트 |4. 분석 | 5. 종료"); System.out.println("------------------------------------------------------..

풀이 코드 public class quiz { public static void main(String[] args) { Random random = new Random(); // int num = (int) (Math.random() * 100); int num = random.nextInt(100)+1; // 100개의 숫자를 임의로 발생시킨다. Scanner scanner = new Scanner(System.in); int count = 0; // 총 횟수가 필요하므로 초기화 while (true) { // 숫자를 맞출때까지 프로그램을 무한반복한다. 그래서 while을 true로 적었다. System.out.println("숫자를 입력하세요."); // cpu가 생성한 Random숫자 콘솔에서 확인..

풀이 코드 public class quiz { public static void main(String[] args) { Random random = new Random(); int cpu = random.nextInt(3)+1; // System.out.println("CPU: " + cpu); Scanner sc = new Scanner(System.in); System.out.println("가위(1), 바위(2), 보(3): "); int user = sc.nextInt(); if(cpu == 1 && user == 2 || cpu ==2 && user ==3 || cpu ==3 && user ==1) { System.out.println("이겼습니다."); } else if (cpu == user..