[Java] 자바 기초 간단 정리
업데이트:
자바(Java) 기초 간단 정리
참고자료 : 윤성우의 열혈 자바 프로그래밍
- 자바에서 정한 규칙: 프로그램의 시작은 main함수부터 시작됨.
- 값을 반환하는 메소드와 반환하지 않는 메소드(void) 존재
- 프로그램의 구성
- 데이터 : 프로그램상에서 유지하고 관리해야 할 데이터
- 기능 : 데이터를 처리하고 조작하는 기능.
- 클래스 = 데이터 + 기능(메소드)
접근 수준
- 클래스
- public: 어디서든 인스턴스 생성 가능
- default: 동일 패키지로 묶인 클래스 내에서만 인스턴스 생성 허용
- 인스턴스 멤버 대상
- public > protected > default > private
지시자 | 클래스내부 | 동일패키지 | 상속 받은 클래스 | 이외의영역 |
---|---|---|---|---|
private | O | X | X | X |
default | O | O | O | O |
protected | O | O | O | X |
public | O | O | O | O |
- 클래스 변수에 static 선언 - 선언된 클래스의 인스턴스가 공유
메소드 오버로딩
호출된 메소드를 찾알 때 참고하는 두 가지 정보는 메소드의 이름, 메소드의 매개변수 정보이다. 따라서 이 둘 중 하나의 형태가 다른 메소드를 정의하는 것이 가능하다. 즉, 메소드 이름은 동일하지만 매개변수 정보가 다른 메소드 정의 가능.
class MyHome{
void mySimpleRoom(int n){...}
void mySimpleRoom(int n1, int n2){...}
void mySimpleRoom(double d1, double d2){...}
}
- this를 이용한 인스턴스 변수 접근
class SimpleBox{
private int data;
SimpleBox(int data){
this.data = data; // this.data는 어느 위치에서 건 인스턴스 변수 data를 의미함
// this.data에서 data는 private int data에서의 data를 의미하고,
// = data에서 data는 SimpleBox(int data)에서의 data를 의미한다.
}
}
상속
- 연관된 일련의 클래스들에 대해 공통적인 규악을 정의할 수 있음.
인터페이스
- 메소드의 몸체를 가지지 않는다.
로거(logger)
- 메세지 발생시간 추가, 로그 레벨 지정
- 심각한 순서: SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST
import org.apache.log4j.Logger;
import java.util.logging.*;
Logger logger = Logger.getLogger( ~~ );
Sqlsession
- 마이바티스를 사용하기 위한 자바 인터페이스
- 이 인터페이스를 통해 명령어를 실행하고 매퍼를 얻으며 트랜잭션 관리
private SqlSession sqlSession;