WEB (22) 썸네일형 리스트형 스프링 프레임워크 라이브러리와 프레임워크의 차이점 • 라이브러리: 개발시 사용하도록 미리 기능을 만들고 제공하는 것 • 프레임워크: 프로젝트에 필요한 구조(뼈대)를 만들고 제공하는 것 스프링 프레임워크란? 1. 스프링은 프로젝트의 전체구조를 설계해준다. • 개발 목적에따라 프로젝트 구성을 자동으로 만들어준다. • 프레임워크가 어플리케이션의 흐름을 제어한다. • 이미 반쯤 완성된 구조에 필요한 코드만 삽입하여 어플리케이션을 만들수있다. 2. 스프링은 웹, 데이터베이스, 시큐리티 등 다양한 영역에서 기술을 제공한다. • 핵심기술: DI 컨테이너, AOP, 이벤트 등 • 웹기술: 스프링 MVC, Rest 방식 등 • 데이터 접근기술: 트랜잭션, JDBC, ORM, XML 등 • 유닛 테스트 스프링 프레임워크의 주요 특징 - 의.. Spring 시작하기-설치, 프로젝트 생성, etc STS4설치 스프링 프레임워크를 개발하기 위해 이클립스에 플러그인 포함된 STS을 설치해야한다. 스프링부트 프로젝트를 사용하기위해 버전4를 설치한다. https://spring.io/tools Spring Tools 4 is the next generation of Spring tooling Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE. spring.io 다운로드 파일을 winRaR로 압축을 푼다. (winRaR을 사.. 기본 클래스(Object,String,Wrapper) Object 클래스: 모든 자바 클래스의 최상위 클래스이다. Object메소드 메소드 설명 toString 객체를 문자열로 표현하여 반환한다. equals 두 인스턴스가 동일한지 여부를 반환한다. hachCode 객체 주소를 반환한다. clone 객체를 복사하여 새로운 인스턴스를 생성한다. Object의 toString은 대체로 재정의하여 사용한다. Wrapper클래스: 기본자료형을 객체타입으로 감싸서 사용한다. 기본형 Wrapper클래스 boolean Boolean byte Byte char Character short Short int Integer long Long float Float double Double 메소드에 전달된 파라미터를 수정하려는 경우 Object 가 필요하다. 인터페이스와 다형성 인터페이스: 추상메소드와 상수만 가질 수 있는 불완전한 클래스 interface 인터페이스 상속 - implements 인터페이스는 외부에 메소드 사용법을 미리 알려주는 역할을 한다. 자식클래스의 메소드 사용법은 모두 동일하다. 추상클래스 추상메소드: 구현코드가 없는 불완전한 메소드 -하위 클래스에서 기능을 만드는 것이 목적이다. 추상클래스: 추상메소드를 가지는 불완전한 클래스 abstract final -더이상 수정할 수 없다 위치 의미 클래스 final클래스는 상속할 수 없다. 메소드 final 메소드는 하위클래스에서 재정의 할 수 없다. 변수 final 변수는 상수를 의미한다 상속과 형변환 상속 - 부모의 필드와 메소드를 자식클래스에 물려준다. -자식클래스는 부모의 클래스를 물려받고 더 확장할 수 있다. super:부모를 가리키는 예약어, 상위 클래스의 생성자를 호출할 때 사용 super(); 클래스간 형변환 업캐스팅 Customer vc = new VIPCustomer(); 부모타입 변수 선언 = 자식타입 인스턴스 대입 모든 클래스는 Object클래스를 상속받는다. 오버라이드 : 부모의 메소드를 자식이 다시 재정의 다형성 : 부모타입으로 모든 자식 클래스를 관리하는 것 형변환 + 메소드 오버라이드 = 다형성 -메소드에서는 부모타입변수를 매게변수로 사용 다운캐스팅: 부모타입으로 형변환된 후에, 다시 원래 타입으로 돌아가는 것 배열 배열: 같은 타입의 자료가 연속적으로 나열된 자료 구조 -같은 타입 데이터만 저장 -길이 고정 -인덱스를 가진다 배열생성 3가지 방법 1.타입[] 변수 = {값1,값2,...}; int[] intArray = {1,2,3}; 2.타입[] 변수 = new 타입[길이]; int[] intArray = new int[3]; 3.타입[] 변수 = new 타입[] {값1,값2,...}; int[] intArray = new int[] {1,2,3}; 다차원 배열 int [][] arr=new int[2][3]; ArrayList - 가변적으로 크기 변경 가능 ArrayList list = new ArrayList(); list.add(10); //요소 추가 list.add(1,50) //특정 위치에 추가 클래스와 객체 객체지향 프로그래밍:객체를 대상으로 프로그램을 만드는 것 -수행 작업을 객체들간의 상호작용으로 표현 클래스:객체의 속성과 기능을 코드로 구현한 것 -클래스 이름은 대문자로 시작 -맴버변수,메소드,생성자 public class A{ int field1;//멤버변수 A(){...}//생성자 void method1(){...}//메소드 } 함수:하나의 기능을 수행하는 코드 = 메소드 public int function(int var1,int var2){ ... return result; } 리턴타입과 실제 리턴값이 일치해야한다. return의 의미: 1.결과를 반환 2.메소드 종료 메모리 구조 - 선입후출 구조 인스턴스 참조자료형-직접 만들어서 사용, 주소를 저장 1.인스턴스 생성 Student student.. 제어문 디버깅:프로그래밍 과정을 추적하는 기능 조건문 : 1.if문 if~else if~else 2. switch문 switch~case break : switch문을 벗어난다 반목문: 1.while문 : 조건이 참인 동안 반복수행 2.do~while문 : 무조건 처음 한번은 수행문 실행 3.for(초기화식;조건식;증감식)문 제어문: continue : 다음 명령을 수행하지 않고 건너뛰어서 다음 반복으로 제어 변경 break : 반복문을 빠져나온다 중첩반복문 : 반복문 안에 다른 반복문 중첩해 사용. 내부반복문(열)이 끝나면 외부반복문(행)으로 되돌아 간다. 연산자 연산자 내용 부호연산자 + - 증감연산자 ++ -- 논리부정연산자 ! 산술연산자 + - * / % 문자연결합연산자 + 비교연산자 = == != 논리연산자 && || & | ^ ! 대입연산자 = += -= *= /= %= 조건연산자 조건식? 결과1:결과2 부호연산자 +:부호를 유지한다 -:부호를 바꾼다 증감연산자 x++ : x를 먼저 사용하고 1 증가 ++x : x를 먼저 1 증가한 수 사용 조건연산자 조건식이 참이면 결과1, 거짓이면 결과2 처리순서 이전 1 2 3 다음