단일행함수 : 숫자함수, 날짜함수

[ITWILL : JSP] ==과 str.equals(str2) 차이, 객체와 클래스

ITWILL학원 : 16강 JSP기초 BY 정규태강사

1. ==과 str.equals(str2) 차이점

두가지는 공통적으로 비교연산을 하지만 차이점이 존재한다.
String타입을 비교할때는 equals()를 사용해야한다.

  • == : 두개의 문자열 객체가 완전히 같은지 비교(주소비교)

    • 메모리 주소를 비교(동일한 객체인지)
    • stack 메모리에 있는 주소를 비교
    • 기본형데이터타입을 비교할때 사용한다
  • str.equals(str2) : 두 개의 문자열 객체의 문자 데이터값이 같은지 비교

    • 대상의 내용을 비교
    • heap
    • 모든 참조형데이터타입에 사용하는 것은 아니고 참조형데이터타입중에 string타입 비교시에만 사용 가능하다.
    • 다른 참조형데이터타입을 비교하는 방법은 상속을 배운뒤 알게된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
//일치여부확인(==이용)
if (id == DBID && pw == DBPW){
%> <%=id%> 님 환영합니다! <%
}else{
%> 잘못입력하셨습니다.<%
}

//일치여부확인(equals이용)
if (id.equals(DBID) && pw.equals(DBPW)){
%> <%=id%> 님 환영합니다! <%
}else{
%> 잘못입력하셨습니다.<%
}

참고링크 : java equals 차이점

2. 객체와 클래스

  • 객체 : 모든 대상,기능들이다.

->객체를 프로그램에 포함하기위해서는 내가 필요한 기능만 뽑는 즉, 추상화과정이 필요하다.

  • 클래스 : 추상화된 객체를 코드로 표현한 형태

흔히 이를 붕어빵만들기에 비유하곤 한다.

클래스 - 객체 => 인스턴스화(객체화)
붕어빵틀 - 붕어빵 => 가열동작

하지만 붕어빵틀과 붕어빵만 있으면 붕어빵을 만들수있을까?
가열동작이 없으면 붕어빵은 만들어지지않는다
이 가열동작은 인스턴스화(객체화, 메모리에 올린다)라고 생각하면 쉽다.
이때 new연산자를 이용한다. -> new를 하면 메모리에 올라간다.

3. 클래스

1. 클래스와 객체는 같다?

NOPE! 다르다!

2. 클래스의 구성요소

  1. 생성자 : 멤버 변수를 초기화
  2. 멤버 변수 : 객체의 속성
  3. 멤버 메서드 : 객체의 동작(기능)

왼쪽처럼 기본데이터형의 변수를 선언하면 stack메모리에 올라간다.
오른쪽처럼 클래스를 선언하면 stack에는 a라는 변수가 생성되고 heap에는 new Test()라는 객체가 생성된다.

3. 클래스예시

휴대폰이라는 객체가 있다고 생객해보자

  1. 속성 : model, price, color …등등
  2. 기능 : on/off(), tell(), sendMSG() …등등
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Phone {
1. 속성
model
price
color ...등등

2. 기능
on/off()
tell()
sendMSG() ...등등

}

new Phone(); //클래스선언이 되고 이는 heap메모리에 저장된다.
[패스트캠퍼스python] 게시판만들기

[패스트캠퍼스python] 게시판만들기

파이썬 인강 자기계발 챌린지 35회차 미션

게시판만들기위해선 순서가 있다.

  1. html파일로 화면그리기
  2. board 폴더안에 있는 views.py에서 함수 만들기
  3. board 폴더안에 urls.py 생성하기
  4. 프로젝트명과 동일한 폴더하위의 urls.py에 연결하기
  5. board 폴더안에 있는 models.py에서 코드작성하기
Read More
[패스트캠퍼스python] 상속, Django form기능

[패스트캠퍼스python] 상속, Django form기능

파이썬 인강 자기계발 챌린지 34회차 미션

1. 상속

지금까지 회원가입페이지와 로그인페이지를 만들어보았다.
html코드를 보면 알겠지만 두 페이지가 body태그빼고 똑같다.
이럴땐 하나의 템플릿을 만들고 상속을 이용해야한다.

왜냐고?
개발자라면 중복되는 코드는 어떻게든 줄이고싶은 마음이 단전에서부터 부글부글 끓어올라야하기 때문이다!ㅋㅋㅋ

Read More
[패스트캠퍼스python] 세션session, 로그인화면만들기

[패스트캠퍼스python] 세션session, 로그인화면만들기

파이썬 인강 자기계발 챌린지 33회차 미션

1. 세션 Session

웹사이트 로그인 기능을 만들기위해 꼭 필요하면서도 중요한 개념인 세션에 대해 알아보자.

구조 설명
클라이언트 웹브라우저
쿠키 서버별 저장소
서버 서버
데이터베이스 클라이언트별 저장소
Read More
input태그속성 및 input태그type종류

input태그속성 및 input태그type종류

required 속성

필수입력요소를 설정할때 required 속성을 지정하면 된다.
필수입력요소를 입력하지않고 submit버튼을 누르면 해당칸을 입력하라는 메세지가 출력되고 포커스까지 해준다.

Read More