자바기초
신입 개발자 기술면접 질문 정리 #4
💡 Interface란? 일종의 추상클래스이다. 오직 추상메소드와 상수만을 멤버로 가진다. Implements 키워드 사용한다. 상속의 관계가 없는 클래스간에 서로 공통되는 로직을 구현하여 쓸 수 있도록함. Extends는 하나의 클래스만 상속가능하나 인터페이스는 다중상속 가능하다. 💡 Abstract 란? 추상메소드를 하나 이상 가진 클래스. 자신의 생성자로 객체 생성 불가능. 하위 클래스를 참조하여 상위 클래스의 객체를 생성. 하위 클래스를 제어하기 위해 사용. 💡 Interface vs. Abstract Class 용도는? 공통점 new로 인스턴스 생성이 안됨. 프로토타입만 있는 메소드를 가짐. 사용하기 위해서는 하위클래스에서 확장/구현 해야 한다. 차이점 사용하는 키워드가 다르다. Abstract..
신입 개발자 기술면접 질문 정리 #3
💡 GET과 POST의 차이점은? : GET은 주로 웹 브라우저가 웹서버에 데이터를 요청할 때 사용되고, POST는 웹브라우저가 웹 서버에 데이터를 전달하기 위해서 사용된다. GET 웹브라우저에서 웹서버로 전달되는 데이터가 인코딩되어 URL에 붙는다. 주소 뒤에 "이름"과 "값"이 결합된 스트링형태로 전달. 주소창에 쿼리 스트링이 그대로 보여지기 때문에 보안을 요하는 전송에는 부적합하다. 길이에 제한이 있다.(전송 스트링이 너무 길면, 255글자 이상은 전송이 안된다.) post방식보다 상대적으로 속도가 빠르다. HTML FORM에서 method="get/post"를 지정하지 않으면 기본으로 GET방식으로 넘어간 다. POST 일정 크기 이상의 데이터를 보내야 할때 사용한다.(255글자 이상의 긴 정보를..
[자바] Random클래스
#1️⃣ java.util.Random 클래스 import java.util.Random; 임포트문 작성하여 사용 (ctrl + shift + o) Random rnd = new Random(); System.out.println(rnd.nextInt()); //int 범위내에 난수를 반환 //nextInt(경우의 수) + 시작 값 System.out.println(rnd.nexInt(10) + 1); // (0 ~ 9) + 1(1부터시작) // 5 ~ 10 System.out.println(rnd.nextInt(6) + 5); // (0 ~ 5) + 5 -> 5 ~ 10 System.out.println(rnd.nextDouble()); System.out.println(rnd.boolean() ? "..
[자바] String클래스
#1️⃣ String은 참조형이지만, 기본형처럼 사용가능한 유일한 타입 String클래스는 char[]와 메서드(기능)를 결합한 것 string클래스 = char[] + 메서드(기능) String클래스는 내용을 변경할 수 없다. (read only) : 값 (literal) 을 직접 대입하는 형태로 사용가능 public void stringTest() { String s1 = "기차"; //문자열 리터럴 - 싸따옴표로 감싸서 표현 String s2 = new String ("기차"); //객체 레시피 사용 안해도 가능 //결과 System.out.println(s1); // 기차 System.out.println(s2); // 기차 s1 = s1 + "칙칙폭폭"; s2 = s2 + "칙칙푹푹"; //결과..
[자바] 연산자
📌 컴퓨터 연산원리 값(literal)은 같은 타입의 변수에만 대입할 수 있다. 같은 타입끼리만 연산할 수 있다. (ex. int 와 int의 연산) 같은 타입간 연산결과값의 타입 또한 동일하다. 📌 항과 연산자 항 (operand) : 연산에 사용되는 값 연산자 (operator) : 항을 이용하여 연산하는 기호 📌 항의 개수에 따른 연산자 구분 #1️⃣ 연산자 우선순위 #2️⃣ 대입연산자 = , 좌항 공간에 우항의 값을 대입한다. 변수에 값을 대입 하는 연산자 연산의 결과를 변수에 대입 우선 순위가 가장 낮은 연산자 왼쪽 변수(lvalue)에 오른쪽 변수(값)(rvalue)를 대입 2 - 1. 변수 = 값 int a = 1; // 변수 a에 1이 대입된다. 2 - 2. 변수 = 표현식 int a = ..
[자바] Scanner
#1️⃣ Scanner 클래스 기본적인 데이터 타입들을 Scanner의 메소드를 사용하여 입력받을 수 있다. Scanner를 사용할 시 util패키지를 경로의 Scanner 클래스를 호출해야 한다. (java.util패키지) 공백(띄어쓰기) 또는 개행(줄바꿈)을 기준으로 읽는다. (’ ‘ , ‘\t’ , ‘\r’ ,\n’... 등) import java. util.* (util패키지 호출) 클래스이름 객체이름 = new 클래스이름(); Scanner sc = new Scanner(System.in); // System.in - 사용자로부터 입력을 받기 위한 입력 스트림이다. #2️⃣ Scanner 주요 메소드 사용자입력은 무조건 문자열이다. Scanner는 적절한 타입으로 변환해서 값을 리턴한다. nex..
[자바] 출력메소드
#1️⃣ print 1 - 1. System.out.print(); - 내용출력 (개행처리 없음) System.out.print("안녕"); System.out.print("잘가"); // 결과 안녕잘가 1 - 2. System.out.print(); 개행처리 방법 System.out.print("안녕\n"); System.out.print("잘가\n"); //결과 안녕 잘가 |
[자바] 상수와 리터럴
#1️⃣ 상수 변하지 않는 값 (cf 변수 : 변하는 값) 상수를 선언 : final 키워드 사용 , 변수명은 대문자로 사용 final double PI = 3.14; final int MAX_NUM = 100; final 로 선언된 상수는 다른 값을 대입할 수 없음 → PI = 3.15; 에러 남 프로그램 내에서 변경되지 말아야 하는 값을 상수로 선언 해 두고 혹시 변경되는 경우 선언된 값만 수정 #2️⃣ 리터럴(literal) 프로그램에서 사용하는 모든 숫자, 값, 논리 값 → ex) 10, 3.14, ‘A’, true 리터럴에 해당되는 값은 특정 메모리 공간인 상수 풀(constantpool)에 있음 상수 풀에 저장 할 때 정수는 int 로 실수는 double로 저장 따라서 long이나 float값..