본문 바로가기

Programming language/Java

(28)
Java - 실무1 [은행] BankAccount.java - 은행 계좌 클래스 public class BankAccount { private int balance; private Person owner; // 은행 계좌 생성자 잔액 public BankAccount(int pBalance){ // 잔액이 0 이하로 주어질 때는 balance를 0으로 if (pBalance < 0){ balance = 0; } else{ balance = pBalance; } } // 은행계좌 생성자 오버로딩 Person public BankAccount(Person pOwner){ owner = pOwner; balance = balance; } // 은행계좌 생성자 오버로딩 잔액, Person public BankAccount(int pBala..
Java - 8 [Wrapper Class, ArrayList, HashMap] Wrapper Class - Wrapper Class는 기본적으로 기본형 자료형에 해당 자료형의 객체를 씌우는 것이다. - 기본형 자료형을 참조형 자료형 처럼 써야 할때 사용한다. Integer i = new Integer(123); Integer i = 23; - 이렇게 생성자로도 선언이 가능하고 기본 자료형처럼도 선언이 가능하다. System.out.println(123 == 123); System.out.println(Integer(123).equals(Integer(123)); - 기본형 자료형은 == 연산자가 괜찮으나 참조형으로 변한이상 객체가 되어 .equals() 메소드로 비교해야한다. ArrayList - 배열과는 다르게 미리 배열의 범위를 지정하지 않아도 된다. - ArrayList에는 ..
Java - 7 [클래스 메소드 - 인스턴스 메소드, String 클래스, Math, Random] 클래스 메소드 - 클래스 변수와 마찬가지로 클래스에 속한 메소드이다. 인스턴스 메소드는 인스턴스를 정의해야지만 썼는데 클래스 변수는 인스턴스를 정의하지 않고도 쓸수 있다. 왜냐하면 상수처럼 클래스에 속한 메소드 이므로 해당 클래스 이름을 직접 써서 호출이 가능하다는 것이다. public class Driver { public static void main(String[] args) { System.out.println(Math.abs(-10)); // 절댓값 System.out.println(Math.max(3, 7)); // 두 값 중 최댓값 System.out.println(Math.random()); // 0.0과 1.0 사이의 랜덤값 } } 이렇게 우리가 일반적으로 System.out.printl..
Java - 6 [try - catch, 인스턴스 변수 - 클래스 변수] try-catch 예외처리 - 자바에서는 오류가 날 수 밖에 없는 코드가 존재 할수 있다. 예를 들면 사용자의 입력에 따라 다른데 배열에서 for문이 먼저 정의된 길이보다 초과해서 입력이 되었다거나, 입력 문자열의 크기가 너무 크다거나 다른 형태의 자료형으로 입력되었다거나 하는 형식이다. 이러한 문제를 해결하려면 예외처리가 필수적이다. try{ // 오류를 발생 시킬 수 있는 코드 } catch (Exception e) { // 오류가 발생한 경우 처리 할 코드 } 실행 예외 발생 이유 ArithmeticException 0으로 나누기와 같은 부적절한 산술 연산을 수행할 때 발생 IllegalArgumentException 메서드에 부적절한 인수를 전달할 때 발생 IndexOutOfBoundsExcept..
Java - 5 [Scanner, 기본형 - 참조형, null, final] Scanner - 자바에서 콘솔입력을 할때 많이 쓰는 클래스이다. 콘솔입력을 받을 때 예시 코드를 보여주면 Scanner sc = new Scanner(System.in); String spell = sc.nextLine(); 여기서 Scanner 객체의 메소드들이 중요하다. 이렇게 입력받고자하는 자료형에 따라 입력 메소드를 다르게 줘야한다.. 후.. 킹받네? 파이썬은 안그런데.. 그냥 때려넣으면 다알아서 알아듣는 천재 언어인데.. 후 자료형의 종류 - 자료형은 변수에 저장되는 값에 따라 두종류로 나누어진다. 기본형 vs 참조형 기본형은 말그대로 해당 자료형의 변수에 값자체를 보관하고 참조형은 해당 자료형의 변수에 값이 보관되어 있는 영역의 주소를 가르킨다. int i = 4; i 는 4라는 값을 가지고..
Java - 5 [생성자, this] 생성자(Constructor) - 객체를 생성할 때 선언하는 구문으로 생성자 안에 인수를 넣으면 객체의 선언과 동시에 변수 기입이 가능하며 생성자 또한 오버로딩이된다. public class Constructor { String name; int age; public Constructor(String p_name, int p_age) { name = p_name; age = p_age; } public Constructor(int p_age) { name = "김철수"; age = p_age; } public Constructor() { name = "김철수"; age = 28; } public static void main(String[] args) { Constructor constructor = n..
Java - IntelliJ Live template 지금 사용하고 있는 intelliJ 에서 자바를 코딩할때 html, css작성할때처럼 prettier같은 좋은 확장프로그램은 없을까 검색하던 와중 웬걸 더쩌는 시스템이 있다는것을 발견했다. Live template - 한마디로 단축키를 이용해서 여러 양식들을 단번에 슉슉만들어 내는것이다. ..사실 코드가 너무 길어지는 것 때문에 자바대신 파이썬을 선택한 것도 있었는데 이러면 너무 좋아진다; 예를 들면 psvm을 치고 엔터를 누르면 이런식으로 나타난다. 이러한 단축키가 엄청 많다. 심지어 설정도 가능하다. CTRL + ALT + S를 치면 나오는 설정창에 live templates으로 들어가면 자바에서 사용하는 template이 보인다. 여기서 위사진에서 $END$는 단축키생성이후 커서가 들어갈 위치이다...
Java - 4 [Class, 접근제어자] Class 자바의 클래스는 아래와 같은 구조를 갖는다. public class Person { String name; int age; int cashAmount; // 은행 계좌? } 변수와 메소드의 모둠이며 이것을 선언할 때는 일반 자료형과 같이 선언한다. public class BankAccount { int balance; // 소유인? } public class Person { String name; int age; int cashAmount; BankAccount account; } 클래스안에 다른 클래스를 선언하여 자료형처럼 사용이 가능하다. Method 메소드의 형태는 다음과 같다. - 메소드의 리턴 타입 - 메소드의 이름 - 파라미터 - 기능의 수행부분 Instance 클래스를 선언하고 이..