728x90
반응형
728x90
반응형
//인터페이스 구현을 syso로 구현, 우리가 필요한 값은 msg값 밖에 없으므로 msg ->를 해줘서 간편화시킴 myInterface mi = msg-> System.out.println(msg); mi.println("람다식"); //static test의 msg값을 test로 주고 인터페이스를 mi로 줘서 인터페이스를 구현 test("test", mi); //msg값을 람다식으로 넣고 인터페이스가 그 msg를 사용함으로써 msg가 출력이 됨 test("람다식 tes", msg -> System.err.println(msg)); //파라미터가 여러개가 있으면 (msg, msg2)를 써서 표현하고 //문장이 여러문장이 있으면 {syso(); syso()}로 표현한다. test("람다식 문장 여러개", ..
request.parameter가 아닌 request.parameterValues("input name 이름")로 선언하여 배열로 받는다. 즉 여러 같은 input 이름 값의 submit 값을 배열로 불러와서 받을 수 있다. 예시 코드: String[] hobby = request.parameterValues("test"); for(String s : str){ System.out.println(s); }
Catch - try 오류가 예상되는 코드에 catch블럭으로 감싸놓고, 예외가 발생되면 try블럭으로 이동시켜 try블럭안의 코드를 실행하게 하는 예외처리 방법이다. 모든 예외클래스를 자바 개발자들이 예상하지 못하기 때문에, 직접 예외처리 클래스를 생성할 수 있다. 주로 예외처리의 모든 조상인 'Exception'을 extends로 상속받지만 Exception을 상속받는 경우에는 오류 발생을 기정 사실화 시켜 try - catch로 처리를 해야한다. 그래서 가능한 경우 선택적 예외처리인 RunTimeError를 선언하여 catch - try구문을 생략하고 코드를 간결화 한다. public void uncheckedError() { try { throw new Exception(); //Exception..
인터페이스 특징: abstract의 클래스는 interface로 변경이 가능하다 interface는 다수의 상속이 가능하다 interface는 interface끼리의 상속이 가능하다. 이 때 interface끼리의 상속은 extends를 사용한다. interface로 바꾸는 경우는 다형성 + extends대신 implements를 사용하여 상속한다. interface로 선언을 해주는 경우는 기능에 대한 팀원과의 분업 혹은 회사간의 분업으로 인한 특정 기능이 공유되어야 할 때 사용된다. 인터페이스를 상속받은 클래스는 반드시 그 메서드를 구현해야 한다. 인터페이스를 통한 기능의 구현 후 main 메서드 안에서 실행하는 예제 회사 내의 1)회사원의 이름과 사원번호를 받아서 저장해주는 메서드와 2)저장받은 메서..
추상화 클래스 abstract로 클래스와 메서드를 정의하여 다른 클래스에서 상속받은 후 기능만 구현할 수 있게 만드는 것이다. 예시: UI를 구현하는 회사와 기능을 구현하는 회사가 있다고 하면 UI가 기능을 구현하는 회사한테 외주를 주어 어떤 기능을 하는 메서드를 만들어달라고 요청한다. 이 기능을 받을 때 어떤 이름으로 기능을 구현할건지 미리 약조를 하여 나중에 데이터를 결합할 때 쓸데없는 시간이 소요되지 않도록 한다. = 분업화 총 3개의 클래스로 예시를 만들었다. 1. 개인정보파일의 class를 만들어 메서드의 이름과 구현할려는 기능의 목적을 설명한다. package exam11; //UI를 구현하는 회사와 기능을 구현하는 회사가 있다고 하면 //UI가 기능을 구현하는 회사한테 외주를 주어 어떤 기능..
프로젝트를 설계할 때 생각의 순서: MVC MVC: Model & View & Controller의 줄임말이다. 국비과정을 들으면서 강사님이 설명해주셨던 내용인데, 기초에 꼭 필요한 정보일 것 같아 적어놓는다. 예시 프로젝트: 친구들 중에 대학교 친구, 사회 친구들의 주소와 이름, 나이 등의 iv를 받고 출력하는 주소록 프로그램 Model: 프로젝트를 설계하면서 만드는 class들이다. 위의 예시의 Model은 현재 Friend와 그 하위 자식 클래스 View: 만든 모델을 시각화해주는 클래스이다. 이 프로젝트의 View는 주소록의 옵션을 표현하는 메뉴판 Control: 이 Model과 View의 변수를 조절할 수 있는 메서드를 가지고 있는 클래스를 Control이라고 부른다. 일단 Model과 View..
메서드 오버라이딩 다형성을 통해 조상의 자료형으로 자식의 클래스를 호출하면 일반적으로 조상의 멤버변수와 메서드만 호출할 수 있다. 하지만 상속의 조건하에서 오버라이딩된 자식의 메서드는 동일한 이름으로 되어있기 때문에 호출 가능하다. public class Overriding { public static void main(String[] args) { Speaker speaker = new Speaker(); Speaker speaker2 = new BaseEnSpeaker(); speaker2.setVolumeRate(7); System.out.println(speaker2.getVolumRate()); speaker2.showCurrentState(); //출력문: //7 //베이스 크기: 0 //자료..
StringTokenizer 구분자를 제외하고 변수의 data를 읽어오는 기능을 포함하는 메서드 메서드를 선언하고 () 안에 읽어올 데이터 변수와 구분자를 ""로 선언해주면 그 구분자를 제외하고 출력시켜준다. 읽어올 데이터가 있으면 true를 반환하고 더이상 꺼내올 데이터가 없으면 false를 반환한다. 따라서 while문을 사용하여 데이터를 꺼내오는 것이 적합하다. 데이터를 읽어올 때 nextToken을 사용하여 데이터를 읽어올 수 있다. public static void main(String[] args) { String data = "11:22:33:44:55"; StringTokenizer st = new StringTokenizer(data, ":"); //:를 기준으로 데이터가 있느냐를 파악하..