일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 백준 알고리즘
- 클래스 패스
- 객체
- 재귀호출기본
- 연결된 예외
- 객체지향
- OOP
- bubble-sort
- jvm
- HTML
- 소수판정
- 백준
- 자료구조
- class
- try&catch
- 공개키 암호
- 예외처리
- JSP
- 현대암호
- 알고리즘
- BufferedWrite
- lang package
- java
- 자동 형변환
- 디렉티브
- 암호론
- 형변환 연산자
- 프로그래밍
- LANG
- 2884
- Today
- Total
목록Java (41)
코드일기장

📌상속(Inheritance)이란? - 기존의 클래스로 새로운 클래스를 작성하는 것 (코드 재사용) - 두 클래스를 부모와 자식 관계라고 한다. class 클래스이름 extends 부모클래스{} 기본적으로 새로운 클래스 이름 'extends' 상속해줄 부모 클래스이름{} 이다. class Parent{ int number; } class Child extends Parent{ } Child 클래스는 Parent 클래스에게 상속받았다. Parent클래스뿐만 아니라 Parent클래스의 부모 즉, Child클래스의 조상의 모든 멤버를 상속받는다. (생성자, 초기화 블록 제외) 결론적으로 자손의 멤버의 개수는 조상의 맴버 개수보다 많거나 같다. (무조건) 위 코드를 보면 Child는 멤버가 0개이지만 사실 상속..

사용자 정의 예외 - 프로그래머가 직접 예외 클래스를 만들 수 있다. - 조상은 Exception과 RuntimeException 중에서 선택하면 된다. class Excetpion1 extends Exception{ Excetpion1(String str){ //거의 필수적으로 넣는 코드이다. super(str); } } 보통 예외처리 필수가 아닌 RuntimeException을 조상으로 한다. 결론적으로 사용자 예외 클래스가 Exception과 RuntimeException 둘 중 하나로 상속받아야 한다. 사용자 예외 클래스 생성자 (String 매개변수){ super(매개변수) } 이 또한 필수이다. public class Hello { public static void main(String[] a..

🎈 생성자 (Constructor) 생성자란 쉽게 말해 '인스턴스 초기화 메서드'라고 말할 수 있다. 생성자의 사용에 따라 코드가 얼마나 간결해지는지 보여주겠다. public class Hello { public static void main(String[] args) { Price p =new Price(); p.price=5000; p.name="세면도구"; p.check=true; } } class Price{ int price; String name; boolean check; } 우리는 Price 클래스에 인스턴스 변수 3개를 사용하기 위해 참조 변수 p를 선언한 후 p.price, p.name, p.check로 인스턴스 변수를 초기화시켜주었다. Price p2=new Price(1800, "과..

🎈 메서드에 예외 선언 예외를 처리하는 방법은 try&catch 말고 예외 메서드를 선언하는 방법이 있다. try&catch문은 예외에 대한 직접처리를 한다. 반대로 예외 메서드는 예외를 떠넘기고 처리는 안 한다. 메서드에 예외를 선언하려면 메서드 선언부에 throws 키워드를 사용 메서드 내에서 발생할 수 있는 예외를 적으면 된다. static void method()throws Exception,ArrayIndexOutOfBoundsException{ //메서드 내용 } 이런 식으로 method 메서드 선언부에 throws 키워드 작성 후 예외들을 적는다. 예외들은 한 개 이상 적을 수 있다. 2개 이상부터 예외들을 쉼표(,)로 구분한다. public class Hello { public static..

🎈 인스턴스 메서드와 static 메서드 서론으로는 인스턴스 메서드와 static 메서드에 대해 알아보자. class MethodClass{ void loop() { //인스턴스 메서드 } static float score(float f) { //static 메서드, 클래스 메서드 return f; } } 기본적으로 static이 붙어있으면 static메서드 혹은 클래스 메서드라고 부른다. static이 없으면 인스턴스 메서드이다. 클래스 변수와 인스턴스 변수와 동일하다. 인스턴스 메서드 인스턴스 생성 후, '참조변수.메서드이름()'으로 호출한다. 메서드 내에서 인스턴스변수 사용 가능하다. 클래스 메서드 객체 생성 없이 '클래스이름.메서드이름()'으로 호출 가능하다. 메서드 내에서 인스턴스 변수 사용 불..

🎯 JVM 메모리 구조 우선 JVM 메모리 구조 이미지와 함께 천천히 알아보자. -메서드 영역 (Method Area)- -클래스 정보와 클래스 변수가 저장되는 곳 -호출 스택 (Call Stack)- -메서드의 작업공간, 메서드가 호출되면 메서드 수행에 필요한 메모리 공간을 만들고 메서드 수행이 끝나면 메모리를 삭제하는 곳 -힙 (Heap)- -인스턴스가 생성되는 공간, new 연산자에 의해서 생성되는 배열과 객체는 모두 여기에 생성 🎯재귀 호출 (recursive claa) 재귀호출이란? - 메서드 내에서 자기 자신을 반복적으로 호출하는 것 - 반복문 보다 효율은 좋지 않다. - 이해하기 쉽고 간결한 코드를 작성할 수 있다 (클린 코드) 재귀호출 예 - 팩토리얼, 제곱, 트리 운행 등 이번 시간에는 ..

📖 멀티 catch블럭 JDK 1.7부터 여러 catch블럭을 '|' 기호를 사용하여, 하나의 catch블럭을 합칠 수 있게 되었다. 이것을 '멀티 catch 블럭'이라고 한다. 멀티 catch 블럭을 사용하게 되면 중복된 코드를 줄일 수 있다는 장점이 있다. 또한 멀티 catch블럭은 서로서로 내용이 같아야 한다. '|' 기호로 연결할 수 있는 예외 클래스의 개수는 제한이 없다. 멀티 catch블럭안에 참조 변수는 단 하나 🔑 멀티 catch문을 사용한 코드와 아닌 코드 import static java.lang.System.out; public class Exceptiontest { public static void main(String[] args) { try{ out.println(0/0); }c..