본문 바로가기
  • 시 쓰는 개발자

java15

인텔리제이에서 컴파일 결과(ByteCode) 확인하기 김영한님의 java-start 강의를 듣고 작성하였습니다. 인텔리제이에서 컴파일 결과 확인해보기 예를 들어 이러한 코드가 있다고 하자. package variable; public class Var6 { public static void main(String[] args) { int a; // System.out.println(a); } } 이 코드를 실행하면 어떻게 될까? 물론, 주석처리한 부분을 풀어주면 a를 초기화해주지 않아서 컴파일 에러가 나게 된다. 컴파일 된 결과는 주황색 out 폴더에서 확인해볼 수 있고, 다음과 같다. // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler.. 2024. 1. 6.
WelcomePage란? WelcomePage란? 예전에 웰컴페이지가 Login으로 고정돼서 localhost:8080을 아무리 쳐도 login 화면만 나왔던 경험이 있었다. 그때는 오류거나 경로를 잘못 입력해서 생긴 오류였다고 생각했는데, 다시 생각해보니 그것이 바로 WelcomePage가 설정돼서 그런 거였다. // 한마디로 localhost:8080이 특정 페이지로 고정되는 것이다. 이게 설정되어있으면 localhost:8080을 쳐도 예를 들어 항상 localhost:8080/index.html 로 고정돼서 메인화면으로만 나온다거나, 로그인화면으로 고정된다거나 등의 오류아닌 오류같은 상황이 일어날 수 있다. 아래 사진의 코드처럼 자바코드로 되어있을 수도 있고, html로 path를 고정시켜놓는 경우도 있는 것 같은데 ht.. 2022. 12. 11.
4장 조건문과 반복문 JAVA의 정석 책을 참고하였습니다. 까먹었을 법한 내용만 정리. 조건문 – if, switch + Math.random() 참고 if if (조건) { 결과 } 조건식의 결과는 반드시 true or false이다. switch switch (조건) { case A: ~~ break; case B: ~~ break; default: ~~ ... } 조건식의 결과는 정수나 문자열만 가능. ★ 이때 case문의 값인 A, B 자리에는 변수를 사용할 수 없다. switch문도 if문처럼 중첩 가능. Math.random() - 난수 발생 함수 ★★★ 0 이상 1.0 미만 double 값을 반환한다. ★★★ ex. 1~10 사이의 임의 정수를 얻기 int score = (int)(Math.random() * 1.. 2022. 10. 28.
3장 연산자 JAVA의 정석 책을 참고하였습니다. 까먹었을 법한 내용만 정리. 연산자 종류 우선순위가 높은 순서대로 쓰면 단항, 산술, 비교, 논리, 삼항, 대입 무엇보다도 괄호가 우선순위가 제일 높고, 단항 이항 삼항 순서대로 높다. 연산자 우선순위는 거의 다 상식적으로 생각하면 된다. 단, 주의할 점이 있다. 쉬프트연산자 > >>>(2를 곱하거나 2로 나눠줌)들은 덧셈연산자보다 우선순위가 낮다. ex. x 3 && x < 5) 이항 연산자의 특징 이항 연산자는 연산을 수행하기 전에 피연산자의 타입을 일치시킨다. 두 개의 타입 중 “표현범위”가 더 넓은 쪽으로 통일돼서 계산된다. ex. char + int = int + int float + int = float + float long + float = float .. 2022. 10. 28.
2장 변수 JAVA의 정석 책을 참고하였습니다. 까먹었을 법한 내용만 정리하려 합니다. 변수 타입 기본형 : boolean, char, byte, short, int, long, float, double ▶ 실제 값을 저장함, 사용하려면 0 등으로 초기화를 해줘야함. 참조형 : String, System 등 ▶ "객체의 주소"를 저장함 명명규칙과 권장사항 대소문자가 구분되고, 길이제한 X // True와 true(예약어)는 서로 다르다. 특수문자는 언더바(_)와 달러사인($)만 허용된다. 클래스 이름의 첫글자는 항상 대문자로, 변수와 메소드 이름의 첫글자는 항상 소문자로 여러 단어는 첫글자가 대문자 상수는 대문자로 쓰고, final을 붙여줌 문자와 문자열 문자는 문자가 딱 1개만 있는 char, 문자열은 문자 2개.. 2022. 10. 28.
MVC패턴과 MVC패턴을 지키는 법 MVC패턴과 MVC패턴을 지키는 법 * MVC = 유지보수가 편해지도록 하는 코드 구성 방식. M은 Model, V는 View, C는 Controller를 의미. 흐름 사용자가 구글에 단어를 검색 단어에 대한 검색 결과를 달라고 Model에게 요청 모델이 검색결과 데이터를 찾아서 Controller에게 전달 컨트롤러가 View에게 받은 검색 결과 데이터를 전달 뷰는 UI에 검색결과 데이터를 넣어서 사용자에게 이쁘게 보여줌 MVC의 역할 모델 : 데이터와 관련된 일을 함 컨트롤러 : 모델과 뷰 사이에서 중개자 역할을 함 뷰 : 사용자에게 보여지는 부분을 담당 (추가) Model: 소스 코드로 특정 동작이 수행되는 파트 View: 우리(사용자)가 보는 화면이다. Controller: view의 요청을 받아 .. 2022. 10. 20.