목록전체 글 (659)
겉바속촉
점프투스프링부트 1-03 1. STS 설치 JDK 설치가 완료되었다면 스프링부트 프로그램 작성을 도와주는 도구인 STS(Spring Tool Suite)를 설치 STS는 다음 주소에 접속하면 내려받을 수 있음 https://spring.io/tools Spring | Home Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform. spring.io 2. STS 실행 STS의 작업공간(workspace) 디렉터리를 설정하라는 창이 뜨고 나면 작업공간 설정해주기. 앞으로 STS로 작성하는 모든 파일들이 이 디렉터리 하위에 만들어짐 그러면 다음과 같이 STS가 실행된다. 3...
점프투스프링부트 1-02 1. JDK 설치 자바 프로그래밍을 하기 위해 필수적으로 필요한 JDK를 먼저 설치 JDK는 Java Development Kit의 약자 JDK 다운 url : https://www.oracle.com/java/technologies/downloads/ Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 2. WINDOWS에 JDK 설치 윈도우즈의 경우 "Windows" 탭을 선택한 후 "x64 MSI Installer" JDK를 다운로드 ..
점프투스프링부트 1-01 스프링부트(Spring Boot) 자바의 웹 프레임워크로 기존 스프링(Spring) 프레임워크에 톰캣 서버를 내장하고 여러 편의기능들을 추가하여 꾸준한 인기를 누리고 있는 프레임워크 SQL 인젝션, XSS(cross-site scripting), CSRF(cross-site request forgery), 클릭재킹(clickjacking)과 같은 보안 공격을 기본으로 막아 줌 스프링부트를 사용하면 이런 보안 공격에 대한 코드를 짤 필요가 없음 2012년에 등장하여 10년 이상의 세월을 감내한 베테랑 웹 프레임워크 스프링부트 대신 스프링만 사용하여 웹 애플리케이션을 개발한다면 웹 애플리케이션을 실행할 수 있는 톰캣과 같은 WAS(Web Application Server)가 필요 -..
난방비 폭탄 맞고 글을 쓰게 되었습니다. 여러분은 어떠신가요 ㅎㅎㅎㅎ 저희 집은 관리비 내역서를 보고 깜짝 놀랐답니다. 어머니께서는 잘못 나온줄 알고 지금 이 가격이 맞게 본거냐며 저보고도 보라고 하셨거든요 ㅎㅎㅎ 그래서 구글링을 해보니 작년 3월, 4월, 6월, 9월 산업통상자원부에서 인상 관련해서 배포한 자료들이 있더라구여 러시아-우크라이나 전쟁으로 인해서 급등한 천연가스 가격으로 인해 주택용, 일반용 도시가스 요금을 인상한 것 같습니다. 환율 문제도 있어서인지 거의 40%정도 인상된 것 같습니다. 날씨는 작년보다 추워져서 가정마다 난방을 더 틀어서 저희집처럼 관리비 폭탄을 맞게 된 것 같습니다. 물가는 오르고 관리비는 더 오르고 가정도 가정이지만 소상공인분들이 너무 힘드시겠어요ㅠㅠ 그래서 에너지 취..
다형성이란 ?? - 여러 가지 형태를 가질 수 있는 능력 - 하나의 참조변수로 여러 타입의 객체를 참조할 수 있는 것 - 조상타입의 참조변수로 => 자손타입의 객체를 다룰 수 있는 것이 다형성 - 조상타입의 참조변수로 => 자손타입의 인스턴스 참조는 가능 - 자손타입의 참조변수로 => 조상타입의 인스턴스 참조는 불가능 - 서로 상속관계에 있는 타입간의 형변환만 가능 - 자손타입 => 조상타입 : 형변환 생략 가능 - 조상타입 => 자손타입 : 형변환 생략 불가 - 참조변수가 참조하는 인스턴스의 실제 타입을 체크할 때 사용 - 연산결과는 true, false - instanceof 연산결과가 true이면, 해당 타입으로 형변환 가능 - 멤버변수가 중복정의된 경우 : 참조변수 타입 따라 연결되는 멤버변수가 ..
접근 제어자란 ? 멤버 또는 클래스에 사용됨 외부로부터 접근을 제한함 클래스, 멤버변수, 메서드, 생성자에서 접근 제어자가 사용될 수 있음 접근제어자 -> public, protected, default, private 제어자 같은 클래스 같은 패키지 자손클래스 전체 public O O O O protected O O O default O O private O 대상 사용가능한 제어자 클래스 public, default, final, abstract 메서드 모든 접근 제어자, final, abstract, static 멤버변수 모든 접근 제어자, final, static 지역변수 final - 메서드에 static과 abstract 함께 사용불가 - 클래스에 abstract와 final을 동시 사용불가 -..
제어자란 ? 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미 부여 접근제어자와 그 외의 제어자로 나뉨 하나의 대상에 여러 개의 제어자를 조합해서 사용하는 것이 가능 단, 접근제어자는 하나만 사용 가능 접근제어자 -> public, protected, default, private 그 외 -> static, final, abstract, native, transient, synchronized, volatile, strictfp 1. static 클래스의, 공통적인 멤버변수, 메서드, 초기화 블럭에서 사용 멤버변수 - 모든 인스턴스에 공통적으로 사용되는 클래스 변수가 됨 - 클래스변수는 인스턴스 생성하지 않고도 사용 가능 - 클래스가 메모리에 로드될 때 생성됨 메서드 - 인스턴스를 생성하지 않고도..
import 란 ? 사용할 클래스가 속한 패키지를 지정하는데 사용 import문을 사용하면 클래스를 사용할 때 패키지명을 생략할 수 있음 java.lang 패키지의 클래스 : import하지 않아도 사용 가능 (String, Object, System, Thread...) 패키지문과 클래스 선언 사이에 import문 선언
패키지란? 서로 관련된 클래스와 인터페이스의 묶음 물리적으로 폴더를 의미 서브패키지를 가질 수 있고 '.'으로 구분 클래스의 실제 이름은 패키지명이 포함된 것 : String 클래스의 full name은 java.lang.String rt.jar : Java API의 기본 클래스들을 압축한 파일 : JDK설치경로\jre\lib 하나의 소스파일에 둘 이상의 클래스가 포함된 경우, 모두 같은 패키지에 속하게 됨 모든 클래스는 하나의 패키지에 속함 // 패키지가 선언되지 않은 클래스는 자동적으로 디폴트 패키지에 속함 (디폴트 패키지 = 이름 없는 패키지) classpath 클래스파일 (*.class) 찾는 경로 구분자 => ';' 패키지가 포함된 폴더나 jar파일(*.jar) 나열 클래스패스가 없으면 자동적으..
인스턴스 자신을 가리키는 참조변수 인스턴스의 주소가 저장되어 있음 모든 인스턴스 메서드에 지역변수로 숨겨진 채로 존재 super란 ? this와 같은 개념. 조상의 멤버와 자신의 멤버를 구별하는 데 사용. 조상의 생성자 - 자손클래스의 인스턴스를 생성하면, 자손의 멤버와 조상의 멤버가 합쳐진 하나의 인스턴스가 생성됨. - 조상의 멤버들도 초기화되어야 하기 때문에 자손의 생성자의 첫 문장에서 조상의 생성자를 호출해야 함. - 호출하지 않으면 자동적으로 컴파일러가 super(); 를 생성자의 첫 줄에 삽입.
오버라이딩이란 ? 조상클래스로부터 상속받은 메서드의 내용을 상속받는 클래스에 맞게 변경하는 것 override : ~위에 덮어쓰다(overwrite), ~에 우선하다 선언부 동일해야 함 : 이름, 매개변수, 리턴타입 접근제어자를 좁은 범위로 변경하는 것 불가능 : 조상 메서드가 protected인 경우 => 범위가 같거나 넓은 protected , public으로만 변경 가능 조상클래스의 메서드보다 많은 수의 예외를 선언할 수 없음 오버로딩 : over loading // 기존에 없던 새로운 메서드 정의 - new 오버라이딩 : overriding // 상속받은 메서드의 내용을 변경하는 것 - change, modify
상속이란? 기존의 클래스를 재사용하여 새로운 클래스 작성 두 클래스를 조상과 자손으로 관계를 맺어줌 자손은 조상의 모든 멤버를 상속받음 (단, 생성자와 초기화블럭은 제외) 자손의 멤버갯수는 조상보다 같거나 많다. class 자손클래스 extends 조상클래스 { // } 공통부분 : 조상에서 관리 개별부분 : 자손에서 관리 조상의 변경은 자손에 영향 O 자손의 변경은 조상에 영향 X 한 클래스의 멤버변수로 다른 클래스를 선언하는 것 작은 단위의 클래스 먼저 생성 후 => 이들을 조합하여 하나의 큰 단위의 클래스 생성 java는 단일상속만 가능, 다중상속 불가능 비중이 높은 클래스 하나만 상속관계로 함 비중이 적은 나머지 클래스는 포함관계로 함 모든 클래스의 최고조상 조상이 없는..
생성자란 ? 인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드' 몇가지 조건을 제외하면 메서드와 동일 인스턴스 변수의 초기화 or 인스턴스 생성시 수행할 작업에 사용됨 모든 클래스에는 반드시 하나 이상의 생성자가 존재해야 함 생성자의 이름은 클래스의 이름과 같아야 함 리턴값이 없음 => 하지만 void 사용하지 않음 주의 기본 생성자란 ? 매개변수가 없는 생성자 생성자가 없는 클래스가 있다면 컴파일러가 기본생성자를 추가함 class Data1 { int value; Data1() {} //기본생성자 } class Data2 { int value; Data2(int x) { //매개변수있는 생성자 value = x; } } class ConstructorTest { public static voi..
1. 정적컨텐츠 2022.11.02 - [IT 일기 (상반기)/SPRING 기초] - 정적 컨텐츠 이미지 로드되는 과정 정적 컨텐츠 이미지 로드되는 과정 1. 웹브라우저 -> 내장 톰캣서버에 요청 localhost:8088/hello-static.html 2. 스프링 부트 역할 hello-static 관련 컨트롤러 있는지 먼저 1차적으로 찾아봄 근데 없음 resources: static/hello-static.html을 2차적으로 찾 2-juhyun-2.tistory.com 2. MVC 2022.11.02 - [IT 일기 (상반기)/SPRING 기초] - MVC와 템플릿 엔진 MVC와 템플릿 엔진 지난번 살펴봤던 정적 컨텐츠 이미지 로드하는 원리 2022.11.02 - [IT 일기 (상반기)/SPRING..
지난번 살펴봤던 정적 컨텐츠 이미지 로드하는 원리 2022.11.02 - [IT 일기 (상반기)/SPRING 기초] - 정적 컨텐츠 이미지 로드되는 과정 정적 컨텐츠 이미지 로드되는 과정 1. 웹브라우저 -> 내장 톰캣서버에 요청 localhost:8088/hello-static.html 2. 스프링 부트 역할 hello-static 관련 컨트롤러 있는지 먼저 1차적으로 찾아봄 근데 없음 resources: static/hello-static.html을 2차적으로 찾 2-juhyun-2.tistory.com 와는 다르게 MVC는 어떻게 작동되는 지, 차이점 알고 지나가기 MVC와 템플릿 엔진 MVC: Model, View, Controller 1. 웹브라우저 -> 내장 톰캣서버에 요청 localhost:..