본문 바로가기

전체 글376

[Java] Math.ceil() 올림 / Math.floor() 내림 /Math.round 반올림 / Math.pow() 지수 / Math.random 난수( 0 <= x < 1인 실수) / Math.max 최댓값 / Math.min 최솟값 Math.ceil - 올림 문법 Math.ceil( double a) 예제 System.out.println( Math.ceil(10.3)); // 11.0 출력 System.out.println( Math.ceil(10.5)); // 11.0 출력 System.out.println( Math.ceil(10.6)); // 11.0 출력 Math.floor - 내림 문법 Math.floor( double a) 예제 System.out.println( Math.floor(10.3)); // 10.0 출력 System.out.println( Math.floor(10.5)); // 10.0 출력 System.out.println( Math.floor(10.6)); // 10.0 출력 Math.floor - 내림.. 2022. 10. 3.
[Java] Obect 클래스 / toString() / equals() / hashCode() java.lang 패키지 자바를 통해 프로그램을 구현하면서, String 이나 Integer와 같은 클래스를 사용했습니다. String 클래스의 전체 이름은 java.lang.String이며, Integer 클래스의 전체 이름은 java.lang.Integer입니다. String, Integer와 같이 외부 패키지에서 선언한 클래스를 사용할 때는 import문으로 클래스가 어느 패키지에 속해 있는 선언해야 합니다. String 또는 Integer 클래스 같은 경우 컴파일 할때 import.java.lang.* 문장이 자동 추가되어 java.lang 패키지의 모든 하위 클래스를 참조가 가능하게 되며, 컴파일 에러가 발생하지 않습니다. java.lang.Object object 클래스는 모든 자바 클래스의 .. 2022. 10. 3.
[Java] final 예약어 final, 단어의 의미는 '마지막' 입니다. Java에서는 마지막으로 정했으니 더 이상 수정할 수 없다는 뜻입니다. 이 예약어를 변수 혹은 메서드 혹은 클래스에 사용할 수 있습니다. 변수에 사용하면? 상수를 의미합니다. 메서드에 사용하면? 하위 클래스에서 재정의할 수 없습니다. 클래스에 사용하면? 상속할 수 없습니다. final 예약어가 없는 변수에는 다른 값을 대입할 수 있지만, final 예약어가 있는 변수에는 다른 값을 대입할 수 없기때문에 컴파일 오류가 발생합니다. final, 언제 사용할까요? 프로젝트를 진행하다보면 여러 파일에서 똑같이 공유해야 하는 상수 값이 있을겁니다. 예를 들면, 프로젝트에서 공통으로 적용하는 최댓 값, 최솟 값 등이 있습니다. 이러한 값들을 파일마다 선언한다면 코드가 .. 2022. 10. 1.
[Java] 주민등록번호 유효성 검사 메서드 / 재활용성을 고려한 주민등록번호 유효성 검사란? 이전 포스팅을 참고바랍니다. [Javascript] 주민등록번호 유효성 검사기 구현 주민등록번호 유효성 검사기 구현을 해보면 어떨까? 구현하기 앞서, 주민등록번호 유효성 검사에 대해서 알아보자. 예를 들어 본인의 주민등록번호가 "123456 - 1268789" 라고 가정하면 주민등록번 starting-coding.tistory.com 전체 코드 public class JuminCheckEx05 { public boolean checkJumin1( String jumin ) { jumin = jumin.replace("-", ""); int[] bits = { 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5}; int sum = 0; for( int i = 0; .. 2022. 9. 30.
[Java] 소문자 이름을 출력받아서 대문자 이름을 출력하는 함수 소스코드 1 public class InitialCap_2 { public static void main(String[] args) { // 변수 이름 대입 String name = "hong gil dong"; // 공백을 기준으로 문자열 분해 후 배열 대입 String[] arrNames = name.split(" "); // for문 활용. 배열에서 하나씩 꺼내고, 첫글자(substring) 대문자 후 나머지 글자 결합 for( int i = 0; i 2022. 9. 30.
[Java] 생성자(Constructor)에 관해서 / Default 생성자 / 생성자 오버로드 / 초기화 동시에 클래스 생성 생성자(Constructor)란? 위 코드를 보면 클래스를 생성할 때 사용하는 Constructor() 같은 함수를 생성자라고 표현합니다. 클래스의 멤버 변수는 메서드에 의해 할당될 수 있지만, 처음 클래스를 생성할 때 값을 정해야 하는 경우가 있습니다. 생성자는 이러한 상황에서 멤버 변수나 상수를 초기화하는 일을 합니다. Default 생성자 생성자는 클래스를 생성할 때만 호출합니다. 또, 생성자 이름은 클래스 이름과 같아야 합니다. 생성자는 반환 값이 없으므로, return을 사용할 수 없다고 알고 있으면 됩니다. 위 예제인 Constructor 클래스를 살펴보면 생성자가 따로 없었습니다. 하지만 new Constructor() 를 통해 객체를 만들 수 있었습니다. 생성자가 없는 클래스는 클래스 파일.. 2022. 9. 30.
[Java] 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy) 얕은 복사(Shallow Copy)란? 얕은 복사로 객체가 복사된다면 실제로는 하나의 주소 값을 가지고 있으므로 하나라고 볼 수 있습니다. 여러 객체가 같은 주소를 참조하기 때문에 값을 변경해버리면 다른 대상의 값 또한 바뀌어 버리는 문제가 발생합니다. 반대로 메모리 측면에서 본다면 한 객체로 할 수 있는 일은 하나로 끝내는것이 좋습니다. 객체를 복사를 했을 때 복사한 만큼 수량이 증가한다면 메모리 측면에서 본다면 비효율적이게 됩니다. 아래 코드는 얕은 복사에 대한 예제입니다. package JavaStydy; public class ShallowCopy { public static void main(String[] args) { // 얕은 복사(Shallow Copy) // 복사된 배열이나 원본 배열이.. 2022. 9. 30.
[Java] 상위 클래스를 상속받는 하위 클래스에 대해서 / default 생성자 자동 생성 / super() 예약어를 통한 생성자 호출 default 생성자 인스턴스를 생성할 때 new 연산자를 이용해서 생성자를 호출하게 됩니다. 생성자를 별도로 정의하지 않았다면, 컴파일러는 자동적으로 default 생성자를 생성하고 호출을 합니다. 하지만 매개변수를 갖는 생성자를 정의했다면, 컴파일러는 default 생성자를 해주지 않으며 컴파일 오류가 발생합니다. 한번 더 강조하지만, 인스턴스를 생성하기 위해서는 반드시 생성자를 호출해야 합니다. 상위 클래스로부터 상속받은 메소드 및 필드는 상위 클래스에 정의된 것입니다. 상위 클래스의 생성자가 호출되어야 하위 클래스에서 사용이 가능하다고 알고 있어야합니다. 아래 예제 코드를 같이 보시면 이해가 빠르실 겁니다. class Parent { // 상위 클래스의 생성자 Parent() { System.ou.. 2022. 9. 29.
[Java] Eclipse Colors and Fonts 설정 / spell checking / Text file encoding / 이클립스 글꼴 설정 / 이클립스 글꼴 변경 General < appearnace < Colors and Fonts < Basic < Text Font 이클립스 추천 글꼴 General < editors < Text Editors < Spelling General < Workspace < Text file encoding 확인 2022. 9. 29.