분류 전체보기 679

[JAVA] 실전 자바 - 자바 메모리 구조와 static

자바 메모리 구조 메서드 영역: 클래스 정보 보관 스택 영역: 실제 프로그램이 실행되는 영역 힙 영역: 객체(인스턴스)가 생성되는 영역 (new 키워드) 메서드 영역 클래스 정보 static 변수들 상수 관리 스택 영역 지역 변수, 중간 연산 결과, 메서드 호출 정보 등 힙 영역 객체와 배열 가비지 컬렉션이 이뤄지는 영역 같은 클래스에서 생성된 객체여도 인스턴스 내부의 변수 값은 다를 수 있지만 메서드는 공통된 영역을 공유한다. 따라서 메서드는 메서드 영역에서 공통으로 관리되고 실행된다. 멤버 변수(필드)의 종류 인스턴스 변수: static이 붙지 않은 멤버 변수 인스턴스를 만들 때 마다 새로 만들어진다. 클래스 변수: static이 붙은 멤버 변수 클래스 변수 = static 변수 = 정적 변수 메서드..

카테고리 없음 2024.01.30

[JAVA] 접근 제어자의 종류

접근 제어자 private 해당 클래스 내부에서만 호출 가능 default(package-private)같은 패키지 안에서 호출은 허용 protected같은 패키지안에서 호출은 허용, 패키지가 달라도 상속 관계의 호출은 허용 public모든 외부 호출을 허용   💡 private  💡 생성자도 접근 제어자 관점에서 메서드와 같다. (접근 제어자 동일하게 적용)  접근 제어자 사용 - 클래스 레벨클래스 레벨의 접근 제어자는 public, default 만 사용 가능private, protected는 사용 불가public 클래스는 반드시 파일명과 이름이 같아야 한다.하나의 자바 파일에 public 클래스는 하나만 등장 가능하나의 자바 파일에 default 클래스는 무한정 만들 수 있음 캡슐화데이터와 메서..

BACK/JAVA 2024.01.30

[JAVA] 생성자, this

this인스턴스 자신의 참조값 멤버 변수와 매개 변수의 이름이 같을 때,매개 변수가 코드 블럭의 안쪽에 있기 때문에 더 우선순위를 가져 매개변수에 접근하게 된다.이런 경우 멤버 변수에 접근하려면 앞에 this.를 붙인다. 생성자 객체를 생성하자마자 즉시 필요한 기능을 수행할 수 있게 해준다.  이름은 클래스와 같다.반환 타입이 없다.나머지는 메서드와 같다.   생성자 호출인스턴스를 생성하고 나서 즉시 호출된다.new 클래스이름(생성자에 맞는 인수 목록)   생성자 장점-중복 호출 제거객체 생성 직후에 작업을 처리하기 위한 메서드를 한번 더 호출할 필요가 없어진다.  -생성자 호출 필수객체를 생성할 때 직접 정의한 생성자가 있다면 직접 정의한 생성자를 반드시 호출해야 한다.안하면 컴파일 오류가 나기 때문에..

BACK/JAVA 2024.01.30

[JAVA] 객체 지향 프로그래밍이란?

객체 지향 프로그래밍 💡 객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고객체들 간의 상호작용을 중심으로 하는 프로그래밍  객체 지향 언어는 클래스 내부에 속성(데이터, 멤버 변수)와 기능(메서드)을 함께 포함할 수 있다.객체는 자신의 메서드를 통해 자신의 멤버 변수에 접근할 수 있다.  캡슐화 속성과 기능을 하나로 묶어 필요한 기능을 메서드를 통해 외부로 제공하는 것  💡 객체지향 프로그램은 속성과 기능이 하나의 클래스에 묶여 캡슐화가 되어 있는 것  객체가 온전히 살아있는 느낌!  절차 지향 프로그래밍 vs 객체 지향 프로그래밍  -객체 지향: 객체의 설계와 관계를 중시한다. 객체들 간의 상호작용을 중심으로 프로그래밍한다.   -절차 지향: 데이터와 기능이 분리되어 있고, 프로그램이..

BACK/JAVA 2024.01.30

[JAVA] 기본형과 참조형

기본형과 참조형 기본형실제 사용하는 값을 변수로 담을 수 있다.메서드로 기본형 데이터를 전달 하면 값이 복사되어 전달된다.참조형실제 객체의 위치를 저장한다. ex)객체, 배열, 클래스, String(클래스)메서드로 참조형 데이터를 전달하면 참조값이 복사되어 전달된다.  💡 기본형은 소문자로 시작한다.💡 기본형을 제외한 나머지는 모두 참조형이다.💡 클래스는 대문자로 시작한다. 클래스는 모두 참조형이다.  대원칙 - 자바는 항상 변수의 값을 복사해서 대입한다. 변수 대입 기본형이면 변수에 들어 있는 실제 사용하는 값을 복사해서 대입하고,참조형이면 변수에 들어 있는 참조값을 복사해서 대입한다.  메서드 호출메서드 호출 시 사용하는 매개변수(파라미터)도 결국 변수다. 기본형: 메서드 내부에서 매개변수(파라..

BACK/JAVA 2024.01.30

[JAVA] 클래스와 데이터

클래스와 객체public class Student { String name; int age; int garde;}  클래스는 사용자 정의 타입을 만들기 위한 설계도이다.클래스에 정의한 변수들을 멤버 변수, 또는 필드라 한다. 클래스를 사용해 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라고 한다.⇒ 클래스는 설계도이고, 이 설계도를 기반으로 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라고 한다.   -클래스: 객체를 생성하기 위한 설계도. 객체가 가져야할 속성(변수)와 기능(메서드)를 정의-객체: 클래스에서 정의한 속성과 기능을 가진 실체-인스턴스: 특정 클래스로부터 생성된 객체 (객체가 어떤 클래스에 속해있는지 강조할 때 사용)  객체 생성Student student1 = ne..

BACK/JAVA 2024.01.30

[Javascript] setInterval 타이머 작동 시 alert창 오류 해결(setTimeout)

setInterval 을 통해 아래와 같은 타이머를 구현하였다. function countDown(time) { let isStopped = false; let x = setInterval(function() { if (isStopped) { clearInterval(x); return; } min = parseInt(time / 60); sec = time % 60; if (sec < 10) sec = "0" + sec; if (min < 10) min = "0" + min; document.getElementById('restTime').innerHTML = min + ":" + sec; if (--time < 0) { clearInterval(x); alert('인증시간이 경과하였습니다. 재전송 후..

FRONT/JAVASCRIPT 2023.07.25

[SpringBoot] Thymeleaf form 태그

타임리프를 처음 써보면서 잘 몰랐던 문법에 대해 정리해보고자 한다. form th:action 폼이 제출될 URL이나 경로를 지정하는 데 사용 ex) th:action="@{/fileBoard/insertProc}"는 폼 제출 대상을 /fileBoard/insertProc URL로 설정 th:object 폼이나 템플릿의 특정 부분과 객체를 연결하는 데 사용 폼의 데이터 모델로 사용할 객체를 지정 ex) th:object="${fileBoardVO}"는 fileBoardVO 객체를 폼과 연결하여 Thymeleaf가 폼 입력값을 fileBoardVO 객체의 해당 속성과 바인딩 th: field th:field 속성은 폼 필드를 특정 객체 속성에 바인딩하는 데 사용 주로 , , 와 같은 폼 입력 요소에서 사용..

BACK/SPRING 2023.06.09
반응형