Programming 46

[Java 객체지향 프로그래밍] 메모리 모델 - JVM

자바 가상 머신 Java Virtual Machine 일반 프로그램은 '운영체제'가 프로그램을 실행시킨다. 반면, JVM은 운영체제로부터 할당받은 메모리 공간을 기반으로 자바 프로그램(=클래스 파일)을 실행한다. 즉, 자바 프로그램의 클래스 파일은 운영체제에서 직접 동작하는 것이 아니라 자바 가상머신(JVM) 위에서 동작한다. 장점 단점 Java 프로그램 JVM에 의해서 실행되는 개념이기 때문에 운영체제에 관계 없이 동일한 결과를 갖는다. = 플랫폼 독립성, 이식성이 높다 실행 속도가 느려질 수 있다. 왜 JVM 구조와 메모리 개념을 알아야 할까? 메모리를 효율적으로 사용하고 보다 안정적인 프로그램을 개발하려면 메모리 구조와 작동 원리를 이해하고 적절하게 사용할 수 있어야 한다. JVM의 메모리 모델 메..

Programming/Java 2021.03.01

[Html] 줄바꿈 기능을 하는 p 태그, br 태그

HTML 에서 태그는 하나의 문단을 만들 때 쓰인다. (애초에 p 의 의미가 paragraph) 문단과 문단 사이에는 자동 줄바꿈이 적용된다. 여기서 태그와의 차이점은, 태그는 '강제'로 줄바꿈을 적용하여 태그가 들어간 위치에 줄바꿈이 적용된다. p태그를 쓰면 문단으로 인식하니까 이렇게 줄바꿈이 됩니다. p태그 없이 줄바꿈을 원하면 br 태그를 사용!! 랄랄라

[Java 객체지향 프로그래밍] 생성자 (Constructor)

- 생성자 생성자란 오브젝트 생성과 함께 자동적으로 호출되는 특수한 메소드이다. 만약 개발자가 생성자를 기술하지 않는다면, 인수가 없는 생성자가 자동으로 생성된다. (=디폴트 생성자) - 디폴트 생성자 메소드와 같은 모양이지만 반환형이 없다. 클래스 이름과 동일한 이름을 가진다. class Product{ String name; // 상품 이름 int price; // 상품 가격 // 매개변수가 없는 디폴트 생성자 Product(){ name = "인형"; price = 8000; } // 매개변수가 두 개 ( String~ , int~) 인 생성자 Product(String name, int price){ this.name=name; this.price=price; } } - 매개 변수가 있는 생성자를..

Programming/Java 2021.02.22

[Java 객체지향 프로그래밍] 오버로딩(Overloading)

- 오버로딩(Overloading)의 개념 사전상 Overloading의 의미는 '과적(過積)' 을 뜻한다. 자바에서의 Overloading은 한 클래스 안에서 동일한 이름의 메소드를 여러 개 정의하는 것을 의미 하는데, 하나의 이름에 여러 기능이 가능하다고 이해해도 좋을 것 같다. 함수명이 고유해야하는 C 언어와 달리 java는 매개변수의 개수 또는 타입이 다르면, 동일한 이름을 사용해서 메소드를 정의할 수 있다. 우리가 많이 쓰는 println 메소드가 대표적인 오버로딩의 예라고 볼 수 있다. '출력' 기능을 가진 메소드들을 println이라는 이름으로 정의할 수 있다. - 오버로딩(Overloading)의 조건 메소드 이름이 동일해야 한다. 매개 변수의 개수 or 타입이 달라야 한다. 매개 변수는 ..

Programming/Java 2021.02.22

[JAVA 객체지향 프로그래밍] 패키지의 개념

- 패키지 선언이 필요한 상황 원(circle) 개발을 한다고 가정하자. 빠른 개발을 위해 team1 과 team2를 동시에 투입하여 team1에게는 원의 넓이를 구하게 했고, team 2에게는 원의 둘레를 구하도록 하였다. 그런데 개발된 결과물을 보니 문제가 발생하게 된다. 원의 넓이를 구해야 하는 team1은 Cricle 이라는 클래스명의 코드를 작성했고, 원의 둘레를 구해야 하는 team2 또한 Circle이라는 클래스를 작성한 것이다. 클래스명은 패키지 내부에서 중복되면 오류가 발생하므로 문제가 발생한다. ===> 따라서 공간적, 접근적 충돌 해결을 위한 패키지 선언의 필요 package teamproject; public class Circle{ // 원의 넓이 구하기 } public class..

Programming/Java 2021.02.21

[Java 객체지향 프로그래밍] 객체와 클래스

자바는 대표적인 객체지향 프로그래밍 언어라고 한다. 그런데 여기서의 객체란 무엇일까? - '객체(Object)' 의 정의 자바에서의 '객체' 개념을 이해하기에 앞서, 우리가 사는 세상에서의 '객체'는 우리가 표현할 수 있는 실제 세계의 모든 사물들을 뜻한다. 이는 눈에 보이고 만져지는 와 보이지 않고 만져지지 않는 개념으로 나눌 수 있다. 개념적인 객체 물리적인 객체 동물 고양이, 토끼, 호랑이, 사자... 필기구 연필, 샤프, 사인펜... 자동차 K5, SM5... - '클래스(Class)' 의 정의 클래스란 객체와 관련된 데이터와 처리 동작들의 모음을 뜻한다. 쉽게 말해 객체에 대한 '설계도' 라고 볼 수 있다. 클래스가 실체화된 것이 객체(object)라고 하며, 이를 실체화 하는 작업은 "오브젝트..

Programming/Java 2021.02.21

[Html]] span 태그

내용 태그는 특별한 기능을 갖지 않지만, 웹 페이지의 일부분에 스타일을 적용시킬 때 유용하게 사용된다. 태그로 요소를 감싸면 CSS나 Javascript로 그 부분을 변형시키는것이 가능하기 때문이다. * 태그와 다른 점은, span 태그는 안에 내부 객체가 들어가면 그 객체의 크기만큼 할당이 되고, 줄바꿈이 되지 않지만 div 태그는 줄바꿈 처리된다. span 예제1 예제3은 이렇게 설정했습니다.하나님이 보우하사 우리나라 만세 예제4는 이렇게 >>> 실행 결과

[Java] 자바빈(JavaBean)에서 프로퍼티(property)와 필드(field)의 차이점?

- 자바빈 (JavaBean) 이란? 자바로 작성된 클래스(class)들을 일반적으로 말한다. - 객체지향 언어인 자바에서 객체는 고유한 속성(특징)을 가지는데, 그 속성을 칭하는 단어를 프로퍼티(property)라고 한다.그리고 이 속성의 진짜 모습, 즉 '실체'를 담는 곳이 필드(field, 멤버변수)이다. - 프로퍼티는 useBean의 대상이 되는 객체의 set 메서드와 get 메서드로 jsp에서 호출할 때는 set과 get은 빼고, 나머지 메서드명을 소문자로 만들어 지칭한다. 일반적으로 접근 제어자는 public을 사용하여 접근해 사용 가능하다. 필드의 경우 useBean의 대상이 되는 클래스의 class변수/ 상수를 의미하고 일반적으로 접근제어자가 private 이기에 직접적인 접근을 할 수 없..

Programming/Java 2021.02.18

[jquery ] Uncaught ReferenceError: $ is not defined 오류 해결 방법

jquery 환경 셋팅을 시작하려는데 오류가 떴다. 페이지는 로딩은 됐는데 'jquery 시작' 글자가 없는 것이다. 개발자 모드를 켜서 확인해보니, Uncaught ReferenceError: $ is not defined 에러로 표시되었다. 이유는 간단했다. 제이쿼리 js 가 로딩이 안 된 것이다. 나는 src를 * 버전은 제이쿼리 사이트의 다운로드 메뉴에서 Download the uncompressed, development jQuery 3.5.1 를 선택함 +) 잘 작동하다가 갑자기 또 이런 오류가 뜬다면? 제이쿼리 라이브러리 파일이 깨진 것일 수도 있다. 오늘 Ajax를 돌리다가 이 오류가 또 떠서... 홈페이지에서 제이쿼리를 다시 다운받아 이클립스에 넣어주고, 스크립트도 다시 넣었다. 그러니까..

Programming/JS + 2021.02.17

[JSP] session을 이용한 로그인 페이지 만들기 - 3) 로그인 실패, 로그아웃

login fail 파일, logout 파일을 만든다. >> login_fail 로그인 실패 메시지를 alert하고, 초기 화면구현 페이지로 이동한다. alert('로그인 실패\n로그인 페이지 이동합니다.'); location.href="a08_login_main.jsp"; >> logout session.invalidate(); 를 통해 세션 기록을 삭제한다. 로그아웃 처리 메시지를 보여준 뒤 확인을 누르면, 역시나 초기 페이지로 이동.

Programming/JSP 2021.02.09
728x90