Skip to content
Bible, Lee, Data

Bible, Lee, Data

Faith, software, data, and everyday life.

JavaAll posts

Engineering/Backend

[Java] 클래스 로딩, 객체 변수, 정적 변수 (static 변수)

💡클래스 로딩 (Class Loading) 메인 메소드가 실행되기 전에 여러가지 작업이 일어나는데, 그 중에 하나가 '클래스 로딩'이라는 작업이다. 클래스 로딩은 프로그램을 실행하기 전에 클래스의 정의를 미리 읽는 작업 (인식하는 작업)을 의미하며, 이는 클래스를 사용할 수 있도록 메모리에 기억하는 과정으로 이해할 수 있다. 클래스 로딩 과정에서 모든 static 키워드를 인식하고, static을 만나는 순간 메모리 실체화(구현)을 하게 된다. 그래서 정적 변수는 main()가 만들어지기 전에 만들어진다. 💡객체 변수 private String name; private int age; 객체 변수는 static이 붙지 않은 변수를 말하며, 개인 데이터를 의미한다. 💡정적 변수 private static S..

Archive/Coding Challenges

[Java] Requirements Q092: Book Class Design

📌Q092 Class package com.test.question.q92; public class Q092 { public static void main(String[] args) { /* ● 요구사항 Book 클래스를 설계하시오. ● 조건 - Book 객체의 정보 - 제목, 가격, 저자, 출판사, 발행년도, ISBN, 페이지수 - 모든 멤버 변수의 접근 지정자는 private으로 한다. - 멤버 접근을 위한 Setter와 Getter를 정의한다. - 제목 : 읽기/쓰기, 최대 50자 이내(한글, 영어, 숫자, 공백) - 가격 : 읽기/쓰기, 0 ~ 1000000원 - 저자 : 읽기/쓰기, 제한 없음 - 페이지수 : 읽기/쓰기, 1~무제한 - 출판사 : 쓰기 전용 - 발행년도 : 읽기 전용(2019년)..

Archive/Coding Challenges

[Java] Requirements Q091: 연산식

package com.test.question; import java.util.Scanner; public class Q091 { public static void main(String[] args) { /* ● 요구사항 연산식을 입력받아 실제 연산을 하시오. ● 조건 - 산술 연산자만 구현하시오.(+, -, *, /, %) - 연산식의 공백은 자유롭게 입력 가능합니다. - 산술 연산자가 반드시 존재하는지 체크하시오. - 피연산자의 갯수가 2개인지 체크하시오. ● 입력 1 입력: 10 + 2 ● 출력 1 10 + 2 = 12 ● 입력 2 입력: 10 # 5 ● 출력 2 연산자가 올바르지 않습니다. ● 입력 3 입력: 10 + ● 출력 3 피연산자가 부족합니다. ● 입력 4 입력: + 20 ● 출력 4 피..

Archive/Coding Challenges

[Java] Requirements Q090: 문자열의 숫자를 찾아 합산

package com.test.question; import java.util.Scanner; public class Q090 { public static void main(String[] args) { /* ● 요구사항 입력받은 문장에서 숫자를 찾아 그 합을 구하시오. ● 조건 - 모든 숫자는 한자리 숫자로 처리한다. ● 입력 1 입력: 국어 점수는 95점입니다. ● 출력 1 문장에 존재하는 모든 숫자의 합은 14입니다. ● 입력 2 입력: 홍길동의 나이는 20살입니다. 몸무게는 72kg이고, 전화번호는 010-2848-9372입니다. ● 출력 2 문장에 존재하는 모든 숫자의 합은 55입니다. */ Scanner scan = new Scanner(System.in); String txt = ""; //..

Archive/Coding Challenges

[Java] Requirements Q089: 숫자 금액을 한글로 변환

package com.test.question; import java.util.Scanner; public class Q089 { public static void main(String[] args) { /* ● 요구사항 입력받은 금액을 한글로 출력하시오. ● 조건 - 입력 범위(원): 0 ~ 99,999,999 ● 입력 1 금액(원): 120 ● 출력 1 일금 일백이십원 ● 입력 2 금액(원): 53216 ● 출력 2 일금 오만삼천이백일십육원 ● 입력 3 금액(원): 12345678 ● 출력 3 일금 일천이백삼십사만오천육백칠십팔원 */ Scanner scan = new Scanner(System.in); String korean = "일이삼사오육칠팔구"; String result = ""; String..

Archive/Coding Challenges

[Java] Requirements Q088: 금지어 마스킹

package com.test.question; import java.util.Scanner; public class Q088 { public static void main(String[] args) { /* ● 요구사항 금지어를 마스킹 처리 하시오. ● 조건 - 금지어 - 바보 - 멍청이 ● 입력 1 입력: 너랑 안놀아 바보야!! ● 출력 1 너랑 안놀아 **야!! 금지어를 1회 마스킹했습니다. ● 입력 2 입력: 잘 생각해봐 바보 멍청이 ● 출력 2 잘 생각해봐 ** *** 금지어를 2회 마스킹했습니다. */ Scanner scan = new Scanner(System.in); String content; // 입력할 문장 String[] words = {"바보", "멍청이"}; // 금지어 Stri..

Archive/Coding Challenges

[Java] Requirements Q087: 합성어

package com.test.question; import java.util.Scanner; public class Q087 { public static void main(String[] args) { /* ● 요구사항 영단어를 입력받아 분리하시오. ● 조건 - 합성어를 입력한다. - 합성어는 파스칼 표기법으로 입력한다. - 출력은 각 단어를 공백으로 구분한다. ● 입력 단어: StudentName ● 출력 결과: Student Name */ Scanner scan = new Scanner(System.in); String compound; // 합성어 // 합성어 입력 System.out.print("합성어: "); compound = scan.nextLine(); for (int i=0; i= 'A..

Archive/Coding Challenges

[Java] Requirements Q085: 주민 등록 번호 유효성 검사

package com.test.question; import java.util.Scanner; public class Q085 { public static void main(String[] args) { /* ● 요구사항 주민 등록 번호 유효성 검사를 하시오. ● 조건 - '-'의 입력 유무 상관없이 검사하시오. ● 입력 1 주민등록번호: 951220-1021547 ● 출력 1 올바른 주민등록번호입니다. ● 입력 2 주민등록번호: 951220-1234567 ● 출력 2 올바르지 않은 주민등록번호입니다. */ Scanner scan = new Scanner(System.in); String jumin; // 주민 등록 번호 int[] digit = new int[14]; // 검증 번호 int pass; ..