반응형

IT/JAVA

[JAVA] FINAL 키워드

Final - 클래스, 메서드, 변수 선언 시 변경의 마지막을 표시 - 멤버변수에 final 사용시 : 변수 값 변경 금지(= 상수로 취급됨) → final키워드가 붙은 변수(상수)는 일반 변수와 구분하기 위해 대문자 변수명을 작성함(단어구분은 언더바(_)사용) - 메서드에 final 사용시 : 메서드 변경 금지(= 오버라이딩 금지) - 클래스에 final 사용시 : 클래스 변경 금지(= 상속 금지) → 대표적인 final클래스 : java.lang.String, java.lang.Math 등 1.멤버변수에 final키워드 사용 public class Ex3 { public static void main(String[] args) { FinalVariable f = new FinalVariable(); ..

2020.09.02 게시됨

IT/JAVA

[JAVA] 상속(Inheritance)[부모(슈퍼)클래스/ 자식(서브)클래스]1

상속(Inheritance)이란? - 부모가 물려준 것을 자연스럽게 이용 - 슈퍼 클래스(부모클래스, 상위 클래스)가 가진 멤버(변수, 메서드)를 서브클래스(자식클래스, 하위 클래스)가 물려받아 선언 없이 사용할 수 있도록 하는 것 - 서브클래스를 정의 할 때 물려받을 슈퍼클래스를 지정하여 표현 - 상속을 통해 슈퍼클래스의 멤버를 물려받기 때문에 직접 메서드는 변수를 생성할 필요가 없어서 코드 중복 최소화됨 또한, 슈퍼클래스이 멤버를 수정하면 서브클래스에는 슈퍼클래스에서 수정된 내용이 그대로 적용되므로 유지보수용이 - 다중상속 불가(여러 개의 부모 클래스를 상속 X) → 부모는 단 하나 - private접근 제한을 갖는 필드와 메서드는 상속 대상에서 제외 - 자식이 부모를 선택(어떤 슈퍼클래스를 상속받을..

2020.08.31 게시됨

IT/DB

[DB]MYSQL(INSERT/UPDATE/DELETE/SELECT)사용하기

1. insert WebContent/Study/jsp2/jdbcPro.jsp 서버 request 내장객체 저장 // 1단계 - JDBC 프로그램안에 Driver 프로그램 가져오기 // 2단계 - DriverManager 자바프로그램이 Driver 프로그램을 가지고 디비서버 접속 → 접속정보 저장 //3단계 접속정보를 이용해서 sql구문 만들고 실행 할 수 있는 자바프로그램 생성 (insert, update, delete, select) Class.forName("com.mysql.jdbc.Driver"); String dbUrl="jdbc:mysql://localhost:3306/jspdb1"; String dbUser = "root"; //db접속아이디 String dbPass ="1234"; //d..

2020.08.25 게시됨

IT/DB

[DB] 제약조건 5가지(NOT NULL/UNIQUE/PK/FK/CHECK)

제약조건 - 제약조건의 선언 방식 - Primary key, Foreign key, Unique, Not Null, Check --컬럼레벨 create table 테이블명( 컬럼명 데이터타입(데이터크기) constraint 제약조건이름(테이블명_컬럼명_제약조건) 제약조건(PK/fk/notnull...), [컬럼명 데이터타입(데이터크기)] ); --(테이블명_컬럼명_제약조건) 예시)emp_emp_id_pk -- 테이블레벨 create table 테이블명( 컬럼명 데이터타입(데이터크기), [컬럼명 데이터타입(데이터크기)] constraint 제약조건이름(테이블명_컬럼명_제약조건) 제약조건(PK/fk/notnull...) (컬럼명) ); create table 테이블명( 컬럼명1 데이터타입(데이터크기), 컬럼..

2020.08.24 게시됨

IT/JAVA

[JAVA] this키워드

1. this 키워드 - 자신의 현재 인스턴스 주소가 저장되어 있는 참조변수 (자신의 인스턴스를 가리키는 목적으로 사용됨) - 객체(인스턴스)생성시 참조변수 this에 자동으로 this에 인스턴스 주소가 저장됨 ※ 로컬변수와 멤버변수(인스턴스변수)의 이름이 같을때 로컬변수가 선언된 메서드 내에서 해당 이름을 지정하면 로컬변수를 가르킴 로컬변수의 데이터를 다시 로컬변수(자신)에저장 따라서, 아무효과가 없는 코드가 됨. name = name; // 로컬변수 = 로컬변수로 읽힌다. //The assignment to variable name has no effect(이 변수명을 쓰는것은 아무효과가 없다) 노란줄 경고 ※ 멤버변수와 로컬변수의 이름이 같을떄 멤버변수를 지정하기 위해서 레퍼런스 this를 사용하여..

2020.08.21 게시됨

IT/JAVA

[JAVA] 생성자 오버로딩(생성자 다중정의)

생성자 오버로딩 - 메서드 오버로딩과 기본적인 규칙 및 동작이 동일함 - 객체생성시 다양한 타입 및 갯수의 파라미터를 작는 여러 생성자를 호출하여 다양한 초기화를 수행하는 용도 - 이클립스에서 자동생성 Alt+Shift+R -> O public class Ex2 { public static void main(String[] args) { Person2 ps = new Person2(); Person2 ps2 = new Person2("홍길동"); ps2.Print(); Person2 ps3 = new Person2("강감찬",30); ps3.Print(); } } class Person2{ String name; int age; //1.기본 생성자 정의 public Person2(){ System.out..

2020.08.21 게시됨

IT/JAVA

[JAVA] 생성자 필드(멤버변수) 초기화

생성자 필드(멤버 변수) 초기화 - 멤버변수를 선언할 때 초기값을 주게 되면 동일한 클래스로부터 생성되는 객체들은 모두 같은 값을 갖는다. public class Ex { public static void main(String[] args) { Korea k1 = new Korean(); //nation 대한민국, name null, age 0 Korea k2 = new Korean(); //nation 대한민국, name null, age 0 } } public class Korean{ String nation="대한민국"; String name; String age; } public class Ex { public static void main(String[] args) { Korea k1 = new..

2020.08.21 게시됨

IT/JAVA

[JAVA] 생성자(Constructor)

생성자(Constructor) - 모든 클래스는 생성자가 반드시 존재 - 객체를 생성할 때 new 연산자 뒤에 붙어서 호출되며, 객체초기화를 담당하는 메서드의 일종 - 객체생성시 호출 가능 임의로 호출 불가능 - 메서드와 다른점 1) 생성자의 이름을 반드시 클래스명과 동일해야 한다! 2) 리턴 타입을 기술하지 않는다.(리턴 타입이 없다.) - 클래스 정의 시 생성자를 하나도 정의하지 않을 경우 : 컴파일러에 의해 기본 생성자 (Default Constructor)가 자동으로 생성됨(public 클래스명(){}) → 매개변수가 없고, 중괄호 블록 내에 코드가 없는 빈 생성자 - 클래스에 명시적으로 선언한 생성자가 1개라도 있으면 컴파일러는 기본 생성자를 추가하지 않음 → 문제점 : 파라미터가 없는 기본생성..

2020.08.21 게시됨

반응형