전체 글 35

스프링 프로젝트 첫화면 한글 깨짐

스프링 프로젝트를 처음 만들고나서 실행했을 때 화면 : 한글 깨짐 해결방법은? 자동으로 생성돼있는 home.jsp의 소스를 수정해주면 된다. charset과 pageEncoding을 UTF-8로 적어주면 된다. 를 추가해주면 다음과 같이 잘 뜬다. 추가로 알면 좋을 거 같아서 갖고왔다! https://jong99.tistory.com/92 [JSP] JSP 캐릭터셋 정리 JSP 코드에 들어가는 인코딩 문장들이 헷갈리고 궁금해져서 삽질해가면서 알아가보았다. 페이지 상단의 지시자부터 살펴보자 우선 contentType이란? 클라이언트에 자원을 보낼 때 HTTP 헤더를 통해 jong99.tistory.com

끄적끄적 2022.12.06

[자바의 정석 - 기초편] ch7-10,11 참조변수 super, 생성자 super()

[자바의 정석 - 기초편] ch7-10,11 참조변수 super, 생성자 super() ch7-10,11 참조변수 super, 생성자 super() ch7-10 참조변수 super - 객체 자신을 가리키는 참조변수. 인스턴스 메서드(생성자)내에만 존재 - 조상의 멤버를 자신의 멤버와 구별할 때 사용★ +++ this와 거의 같다고 보면 된다! 이참에 this 복습! this 인스턴스 메서드(생성자)내에서 사용 ( = static메서드내에 사용불가) 지역변수와 인스턴스 변수 구별할 때 사용! 예제를 보자~! 1번째 예제_ 멤버의 변수명이 겹칠 때 Child 객체를 만들면, 멤버변수는 1.상속받은 멤버 x 2. 자기멤버변수 x 3. 메서드 이렇게 총 3가지 조상의 멤버와 자신의 멤버를 구별해야하니까, sup..

[자바의 정석 - 기초편] ch7-5~9 단일상속, Object클래스, 오버라이딩, 오버라이딩의 조건, 오버로딩 vs 오버라이딩

[자바의 정석 - 기초편] ch7-5~9 단일상속, Object클래스, 오버라이딩, 오버라이딩의 조건, 오버로딩 vs 오버라이딩 ch7-5,6 단일상속, Object클래스 ch7-5 단일 상속(Single Inheritance) - java는 단일 상속만을 허용한다. (하나의 부모만 상속! // c++은 다중상속 허용) - 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다. -> 다중상속의 효과 ch7-6 Object클래스 - 모든 클래스의 조상 - 부모가 없는 클래스(상속 받지 않는 클래스)는 자동적으로 Object 클래스를 상속받게 된다. 부모가 없을 때, 컴파일러가 "extends Objcet" 이 코드를 추가해준다. - 모든 클래스는 Object클래스에 정의된 11개 메서드를 상속받..

[자바의 정석 - 기초편] ch7-1~4 상속, 클래스 간의 관계, 상속과 포함

ch7-1,2 상속 - 기존의 클래스로 새로운 클래스를 작성하는 것.(코드의 재사용) - 두 클래스를 부모와 자식으로 관계를 맺어주는 것. - 자손은 조상의 모든 멤버를 상속받는다.(생성자, 초기화 블럭 제외) (= 부모의 부모 것도 다 상속 받는다) - 자손의 멤버 개수는 조상보다 적을 수 없다.(같거나 많다.) - 자손의 변경은 조상에 영향을 미치지 않는다. class Parent { } class Child extends Parent { //... } Child와 Parent 이 2개의 클래스를 상속관계에 있다고 한다. ch7-3,4 클래스 간의 관계, 상속과 포함 클래스 간의 관계를 1. 상속 2. 포함 으로 크게 나눌 수 있다. ch7-3 포함 관계 포함이란? - 클래스의 멤버로 참조변수를 선언..

[자바의 정석 - 기초편] Chapter6 - 38 ~ 41 변수의 초기화, 멤버변수의 초기화

ch6-38 변수의 초기화 - 지역변수(lv)는 수동 초기화 해야함(사용전 꼭!!!) - 멤버변수(iv, cv)는 자동 초기화된다. ch6-39 멤버변수(iv, cv)의 초기화 1. 명시적 초기화( = ) - 대입연산자 이용해서 초기화 참조형 변수의 초기화_ 추가 설명 참조형 변수가 가질 수 있는 값은 (1) null (기본값) 또는 (2) 객체주소 Engine e = new Engine(); 객체를 생성해서, 객체를 넣어주는 것이 초기화다! 2. 초기화 블럭 - 인스턴스 초기화 블럭 : { } / (인스턴스 변수 초기화할 때 쓴다) - 클래스 초기화 블럭 : static { } / (클래스 변수 초기화할 때 쓴다) 3. 생성자 - iv초기화 할 때 사용 보통, iv 초기화할 때 { } 잘 안 써서 생성..

[자바의 정석 - 기초편] Chapter6 - 36,37 생성자 this(), 참조변수 this

ch6-36 생성자 this() - 같은 클래스 안에 있는 생성자들끼리 호출할 때, 클래스 이름 대신에 this 사용 - 다른 생성자 호출시 첫 줄에서만 사용 가능. 생성자가 하는 일 : iv 초기화 코드 중복을 제거하기 위해, 생성자들끼리 서로 호출한다. ch6-37 참조변수 this - 인스턴스 자신을 가리키는 참조변수 - 인스턴스 메서드(생성자 포함)에서 사용 가능 - 지역변수(lv)와 인스턴스 변수(iv)를 구별할 때 사용 원래 인스턴스 변수 쓸 때, "참조변수.변수이름" 으로 쓰지만 같은 클래스니까, this 생략 가능 하지만 오른쪽 같은 경우는, this를 생략하면 이름이 똑같으니까 지역변수랑 구분이 안 되기 때문에 this 붙여주기 public class MyMath { // iv long ..

Chapter6 - 32~35 생성자, 기본 생성자

ch6-32 생성자(constructor) - 인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드' 인스턴스 초기화 메서드 = 객체(iv묶음) 초기화 메서드 = iv 초기화 iv 초기화 메서드 Time t = new Time(); // iv 초기화 t.hour = 12; t.minute = 34; t.second = 56; 생성자 = iv초기화 메서드 (기본적으로 메서드임, 근데 좀 특별한 메서드) - 생성자의 이름은 클래스 이름과 같아야 한다. - 리턴값이 없다. (void 안 붙임) - 모든 클래스는 반드시 생성자를 가져야 한다.(1개 이상) Card c = new Card(); // 생성자 호출 생성자가 있어야 호출을 하는데 어떻게 호출했을까? Card() -> 기본생성자임 컴파일러가 생성자..

카테고리 없음 2022.10.27

[자바의 정석 - 기초편] Chapter6 - 30,31 오버로딩(overloading)

ch6-30 오버로딩(overloading) 한 클래스 안에 같은 이름의 메서드 여러 개 정의하는 것 ex) 오버로딩의 대표적인 예는 println이다. 이름은 다 똑같은데 매개변수가 다름. println(123);을 하면 void println(int x) 가 호출됨. println("asd");를 하면 void println(String x)가 호출됨. 자바에서는 오버로딩을 지원하기 때문에, 메서드이름 한 개로 여러가지 일들을 할 수 있음. 만약, 오버로딩이 지원되지 않는다면, 이름이 달라야 함 ex) printlnStr("asd"); printlnInt(123); 오버로딩이 성립하기 위한 조건 3가지 1. 메서드 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다. 3. 반환 타입은..

[자바의 정석 - 기초편] Chapter6 - 26 ~ 29 static메서드(클래스 메서드)와 인스턴스 메서드

ch6-26 static 메서드와 인스턴스 메서드 stitact 메서드 : 메서드 앞에 static 붙은 것 인스턴스 메서드 : 메서드 앞에 static 안 붙은 것 * 인스턴스 메서드 - 인스턴스 생성 후, '참조변수.메서드이름()'으로 호출 - 인스턴스 멤버(iv[인스턴스 변수], im[인스턴스 메서드])와 관련된 작업을 하는 메서드 - 메서드 내에서 인스턴스 변수(iv) 사용가능 체크! 인스턴스 멤버는 인스턴스 변수(iv)와 인스턴스 메서드(im)이다! * static 메서드(클래스 메서드) - 객체생성 없이 '클래스이름.메서드이름()'으로 호출 - 인스턴스 멤버(iv, im)와 관련없는 작업을 하는 메서드 - 메서드 내에서 인스턴스 변수(iv) 사용불가 * static 메서드와 인스턴스 메서드의 ..