목록Java (15)
개발지식 먹는 하마 님의 블로그
[ 추상 클래스 ]메소드 정의 시, 몸체를 생략반환 타입 앞에 abstract 추가추상 메소드가 하나라도 포함되면 그 클래스는 추상 클래스가 된다.객체를 생성할 수 없다.public abstract class MyShape { //추상 메서드가 있기 때문에 추상 클래스이다 public abstract void draw(Graphics g); //몸체 생략, 추상 메소드}추상 클래스에서 추상 메소드를 사용하는 이유는추상 메소드가 서브클래스에서 오버라이딩 되도록 강제하기 위한 것이다.추상 클래스를 상속받은 모든 서브클래스에 대해서 해당 추상 메소드를 오버라이딩하지 않아도메소드 호출이 항상 올바르게 동작한다는 확신을 가질 수 있는 설계상의 이점 때문이다.MyShape를 상속받은 서브클래스에서 draw를 호출하..
[ 오버로딩 overloading ]한 클래스 내에서 같은 이름의 메소드가 여러 개 정의될 때, 오버로딩 또는 메소드 중복이라고 한다.중복되는 메소드들은 매개변수의 개수 또는 타입이 달라야 한다.오버로딩은 자동으로 타입을 변환할 수 있다.max(double n1, double n2){ }max(double n1, double n2, double n3){ }위와 같은 함수가 오버로딩 되었을 때, max(5, 10)을 호출하면max(int n1, int n2)가 없기 때문에 매개변수의 타입이 자동으로 변환되어max(double n1, double n2)가 호출된다.[ 오버라이딩 overriding ]수퍼클래스의 메소드와 서브클래스의 메소드가 이름, 매개변수의 목록, 반환 타입까지 모두 같을 때,이를 메소드 ..

[ Superclass와 Subclass ]수퍼클래스 : 먼저 정의하는 일반 클래스를 말한다. (부모)서브클래스 : 나중에 정의하는 특수 클래스를 말한다. (자식) extends를 사용한 상속으로 수퍼클래스의 속성을 서브클래스에서 사용하는 것이 가능해진다."서브클래스 extends 수퍼클래스"class A { private int a; private int x; private int y; public A() { this.a = 0; } public A(int x, int y){ this.x = x; this.y = y; }}class B extends A { //A를 상속받은 B private int b; public B(..

❓ 예외(Exception)프로그램 중 발생하는 비정상적인 상황파일을 읽으라고 했는데 파일이 존재하지 않거나,어떤 수를 0으로 나누려는 등의 비정상적인 상황에서 예외가 발생한다.예외 처리는 if와 else로도 처리가 가능하지만, 자바가 보유한 예외 처리 기능을 사용하는 편이 보다 명확하고 바람직한 프로그래밍 구조를 이룰 수 있다.📌 Java의 예외 구조Jave는 오류와 예외로 나뉘고,예외 안에서 Unchecked Exception과 Checked Exception으로 나뉜다. ✅ 예외와 오류의 차이예외와 오류의 차이는 다음과 같다.구분예외 Exception오류 Error정의프로그램 실행 중 발생하는 예외적인 상황시스템 레벨에서 발생하는 복구가 불가능한 문제복구 가능 여부적절한 처리 후 정상적인 실행 가..
[ File ]소스 파일은 UTF-8로 인코딩파일명은 최상위 클래스명과 일치해야 한다.[ Naming ]더보기패키지 : only 소문자 + 숫자클래스 : UpperCamelCase메서드 : lowerCamelCase(불변)상수 : UPPER_SNAKE_CASE상수가 아닌 필드 : lowerCamelCase매개변수 : lowerCamelCase지역 변수 : lowerCamelCase 타입 변수 이름 : 단일 대문자 ex(E, T, X -> RequestT, FooBarX)* CamelCase문구를 일반 ASCII로 변환하고 (')를 제거한다.공백과 구두점(_, - 등)을 기준으로 단어를 나눈다.모든 것을 소문자로 바꾸고, 첫 글자만 대문자로 바꾼다.UpperCamelCase : 모든 단어의 첫 글자를 대문..