메모리(Memory) : 기억공간변수(Variable) : a, b // 기억공간의 이름(Symbol)연산자(Operator) : +, -대입, 할당(Assign) : = // 변수(기억공간)에 데이터를 저장(대입, 할당)자료(Data) - 변수에 들어갈 데이터의 형태
썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한객체 지향적 프로그래밍 언어 이다.\*현재는 오라클과 인수 합병됨에 따라 권리 및 유지보수 또한 오라클로 넘어갔다.
\-> 자바 개발환경(플랫폼)을 구축데스크톱 응용소프트웨어 : JavaSE 플랫폼을 구축해야 한다.ex. 계산기 …웹 기반 응용소프트웨어 : JavaEE 플랫폼을 구축해야 한다.ex. 쇼핑몰, ERP(웹 기반) … // 시간, 공간 제약 down모바일 기반 응용소프트
main 메서드를 가지고 있는 클래스많은 클래스 중에 메인 클래스는 딱 1개 만 존재한다메인 클래스 부터 프로그램이 시작된다.Method(메서드) : 동작을 처리하는 함수(function)ex. 동작의 이름 ( 매개변수 ) { 처리}함수 : 기능
플랫폼(OS) 독립적인 개발이 가능하다자동으로 메모리는 관리해준다JRE : JDK 실행환경 (JVM 내포)1차 컴파일 된 bytecode(.class)를 자신의 OS에 맞게 한번 더(2차) 컴파일하여(.exe) 메모리에 로딩하여 실행서로 다른 OS(Window, Mac
Q. 자바에서 컴파일 명령어와 실행 명령어\-> jacac.exe(컴파일), java.exe(실행) -> JVM에 의해 실행Q. 객체지향 프로그래밍 언어란?\-> 클래스 단위로 프로그래밍 하는 것Q. JavaSE 프로그램의 기본 틀 (ex. Hello 메인 클래스)\-
변수(Variable) : 데이터를 저장하는 메모리 공간의 이름(Symbol)자료형(Datatype) : 변수의 크기와 어떤 종류의 데이터를 저장할 것인지 결정하는 것할당(Assign) : 변수에 데이터를 저장하는 것변수선언 = 변수와 자료형이 만나는 것어떠한 종류의
논리형 : 1byte / 2byte / 4byte / 8byte문자형 : 1byte / 2byte / 4byte / 8byte정수형 : 1byte / 2byte / 4byte / 8byte실수형 : 1byte / 2byte / 4byte / 8byte
자료형의 종류 기본 자료형(PDT) 사용자정의 자료형(UDDT) // 객체자료형 > 자료형(DataType)의 종류 중에서 기본자료형(PDT)과 사용자정의 자료형(UDDT)에 대해 알아보고 사용자정의 자료형과 객체(Object class)와의 관계를 이해 해야한다.
문자자료형(char) // 수치자료형문자를 숫자로 맵핑해둔 것1962년 안시(ANSI)가 정의한 미국 표준 정보교환 코드7비트의 이진수 조합으로 만들어져 총 128개의 부호를 표현출처 : https://coding-factory.tistory.com/74각 나
Q. 아스키코드 표를 참고하여 문자를 핸들링 해보자 Q. '가'라는 한글 한 문자(수치형자료)를 변수에 저장하고 출력하시오. Q. 대문자 'A'를 문자 'a'로 변환하여 출력하시오.(ASCII코드 참고) Q. '1'+'2'=3이 나오도록 프로그래밍 하시오. Q.
값의 타입(DataType)을 다른 타입으로 변환하는 것.자동형변환(묵시적) : 작은 type이 큰 type에 저장되는 경우(ex. byte -> int)강제형변환(명시적) : 큰 type이 작은 type에 저장되는 경우 (ex. int -> byte, 손실발생)💡강
Q. 자료형과 분류할 때 크게 2가지로 분류한다. 자료형의 종류 2가지를 쓰시오. Q. 문자열을 저장하기 위해서 자바에서 만들어서 API로 제공해주는 자료형을 쓰시오. Q. 이진수(10110011)2를 10진수, 16진수, 8진수로 표현해보시오. Q. 기본자료형
개발자가 다루는 대부분의 데이터는 객체(Object)데이터 입니다.객체데이터 : 하나의 구조(하나의 변수)로 이루어진 데이터가 아니라 여러개의 구조(여러개의 변수)로 이루어진 데이터이다.이러한 객체 데이터를 변수에 저장하기 위해서는 새로운 자료형이 필요하기에 개발자가
Q. 새로운 자료형을 만드는 모델링 도구를 무엇이라고 하는가? ~ Q. 책이라는 자료형이 Book으로 만들어져 있다. 책 한권의 데이터를 저장하기 위한 변수를 선언(객체변수 선언)하시오. Q. 객체를 생성할 때 사용하는 연산자와 메서드를 무엇이라고 하는가? Q
💡scan.nextLine(); // 버퍼비우기\-> 중간 에러방지(?)int num = scan.nextInt(); // 정수입력float num = scan.nextFloat(); // 실수입력double num = scan.nextDouble(); // 실수입력
연산자의 종류 종류|연산자|특징 :---:|:---:|:--- 단항연산자|++, --|항이 1개만 있어도 연산이 되는 연산자 이항연산자|a(항) + b(항)|항이 2개가 있어야 연산이 되는 연산자 삼항연산자|(조건) ? 참:거짓|항이 3개 있어야 연산이 되는 연산자
==연산자 : 비교하는 두 대상의 주소값을 비교equals : String 클래스의 equals() 메서드는 비교하는 두 대상의 값을 비교기본적으로 대상에 주소값을 가지지 않는 형태로 사용된다.클래스는 기본적으로 객체 생성 시 주소값이 부여된다.그렇기에 String 타
조건식이 true(참)이면 중괄호{ }로 둘러 쌓인 블록 안의 문장들이 실행된다.if의 조건식이 true(참)이면 조건식 바로 다음의 블록이 실행되고, 조건식이 false(거짓)이면 else문 다음의 블록이 실행된다
주로 다중 선택에 사용하는데, 다중 if문보다 간결하다.대신, 사용 영역이 if-else에 비해 제한적이다.
일반적으로 반복하는 횟수가 정해진 경우에 사용초기식, 조건식, 증감식으로 구성되고, 세미콜론(;)으로 구분초기식은 처음 한번만 수행이후, 조건식 -> 반복할 문장 -> 증감식이 반복적으로 수행됨
몇번 반복을 해야할지 예측이 불가능할 때 사용먼저 조건식 검사 반복할 문장을 실행업로드중..반복할 문장을 실행한 수에 조건식 검사반복문 내에 있는 문장을 최소한 한번 실행하고자 할 때 유용주의⚠️ 마지막에 세미콜론(;)을 반드시 써야함업로드중..
반복문의 실행 상태를 직접 제어하고자 break문과 continue문을 사용한다.💡반드시 반복문과 함께 사용한다.break문 : 현재 사용중인 반복문을 중단하고 제어를 반복문 바깥으로이동continue문 : 현재 수행중인 반복문에서 현재 조건값에 대한 처리를 중단하고
배열(Array) : 동일한 데이터를 여러개 저장할 수 있는 구조(객체)동일한 연속적인 구조동일한 변수들의 집합배열은 객체로 취급한다.데이터를 담아서 이동하기 편리하다.1차원 배열 = \[]2차원 배열 = // 행기본배열 : 정수, 실수, 문자 등의 기본자료형을 다
Q. 동일한 데이터를 연속적으로 여러개 저장할 수 있는 자료구조를 무엇이라고 하는가? Q. 배열의 길이를 구하는 속성을 쓰시오. Q. 3행 4열의 실수형 배열을 생성하는 코드를 작성하시오. Q. int x = new int3; 주어진 배열에서 x.length의 값
배열의 오름차순 배열의 내림차순 > 내림차순의 경우 Arrays.sort(변수명, Collections.reverseOrder()); 를 사용할 때 기본 자료형(int, char, float, double, boolean 등)을 그대로 사용 시 에러가 날 수 있음.
(조건식) 1️⃣ A 2️⃣ B;
배열(array)복습 Q. 정수 5개를 저장할 배열을 생성하고 모든 원소에 10을 저장하시오. > 첫번째 :
배열의 짝수, 홀수 구하기 배열의 짝수, 홀수의 합 구하기
메서드 호출
증가 누적 카운트
두개의 변수에 저장된 데이터를 서로 이동할 시 tmp(빈공간)을 꼭 만들어 줘야한다.
초기값은 배열의 첫 원소값으로 설정한다
데이터를 원소의 개수의 중앙에서부터 검색한다.💡조건 : 오름차순 정렬이 우선되어야 사용할 수 있다.
\--> 오름차순, 내림차순석차, 순위(rank) 등에 사용된다.
매개변수 전달기법(parameter passing) 1. Call By Value(값 전달) 2. Call By Reference(번지 전달) --> java는 거의 번지 전달형 사용 Call By Reference 예제1) Call By Reference 예제
하나의 클래스 내에서 동일한 이름의 메서드를 여러 개 사용할 수 있는 객체지향 기법동작이 비슷하기 때문에 메서드 이름이 같게 만들어 사용하면 편리하다.(편리성)메서드의 시그니처(signature)가 달라야 한다.매개변수의 개수, 매개변수의 타입컴파일 시점에서 사용될(호
Q. 객체가 가지고 있는 동작을 무엇이라고 하는가? Q. 하나의 클래스 내에서 동일한 이름의 메서드를 여러개 사용할 수 있는 객체지향 기법을 무엇이라고 하는가? Q. 메서드의 시그니처 2가지를 쓰시오. Q. 정적바인딩(static binding)이란 무엇인가?
객체를 메모리에 생성하는 역할을 한다new 연산에 의해서 호출이 된다.자신이 가지고 있는 멤버들을 메모리에 올려 객체를 생성하는 역할메서드 이름은 클래스 이름과 동일해야 한다.접근제한자가 public인 경우에만 호출이 된다.모든 클래스는 기본생성자(default con
Q. 영화, 사람, 책 이런 자료형을 어떤 자료형이라 하는가? Q. 클래스란 무엇인지 쓰시오. Q. 객체를 메모리에 올리는 과정을 무엇이라고 하는가? Q. 객체를 구성하고 있는 2가지 정보를 쓰시오. Q. 객체를 생성하는 역할을 가지고 있는 메서드를 무엇이라고
객체\_Object(현실적)= 클래스\_class(프로그래밍적)= 모델\_Model(소프트웨어공학적)객체지향프로그래밍에서 클래스를 역할에 따라 부르는 이름을 모델(Model)이라고 한다.역할에 따라 다양한 모델을 만들어 사용할 수 있다.▶️ 데이터를 하나로 묶어야 할
Q. 객체지향프로그래밍에서 클래스를 역할에 따라 부르는 이름을 무엇이라 하는가? Q. 우리가 클래스로 만들어 사용하게 될 모델의 종류 3가지는 무엇인가? Q. 객체 데이터를 하나로 수집해야 하는 경우에 필요한 모델을 무엇이라고 하는가? Q. 데이터베이스에 데이터를
객체의 상태정보(멤버변수)는 중요하기 때문에 접근을 못하게 해야한다.(정보 은닉)객체의 행위정보(멤버메서드)는 상호작용을 해야하기 때문에 접근을 허용한다.▶️ 4가지의 접근제한자(Access Modifier)를 사용한다.▶️ 클래스를 설계할 때 고려해야 한다.▶️ 클래
class의 설계 설계도 : class 모델하우스 : 공사 : 실체 객체=인스턴스 객체생성 DTO 사용
Q. 다른 객체에게 자신의 정보를 숨기고 클래스 외부에서 특정 정보에 접근을 막는다는 의미를 무엇이라고 하는가? Q. 정보은닉된 정보에 접근하는 방법 중 값을 저장하는 메서드를 무엇이라고 하는가? Q. 정보은닉된 정보에 접근하는 방법 중 값을 얻어오는 메서드를 무엇
클래스에 접근하려면 만들어진 위치와 접근제어를 알아야 한다.
Q. 자바에서 객체를 접근할 때 사용하는 접근제한자(Access modifier) 4개를 쓰시오. Q. 자바에서 서로 기능이 비슷한 클래스들끼리 모아서 관리를 쉽게 하기 위해 사용하는 것은 무엇인가? Q. 자바에서 제공해주는 패키지 중 default package를
💡 문자열의 4번 index("o")부터 0번 index("H")까지를 reverse 변수에 char로 변환하여 값을 한개씩 순차적으로 넣어준다.✅ str.length() = 5; // 01234✅ 4번 index("o") = str의 length(5)에서 -1 =
contains() 함수는 대상 문자열에 특정 문자열이 포함되어 있는지 확인하는 함수이다.대/소문자를 구분한다.✅ 변수명.contains(찾고자 하는 값)
동일한 구조와 이질적인 구조 배열(Array)과 클래스(Class)는 데이터를 담는 역할은 같지만 만들어지는 구조는 서로 다르다. 배열(Array)은 동일한 데이터를 담는 동일한 구조이며, 클래스(Class)는 서로 다른 데이터를 담는 이질적인 구조이다. > 객체
Q. 동일한 기억공간을 메모리에 연속적인 구조로 만들어서 사용하는 자료구조는 무엇인가? Q. 현실세계의 객체는 이질적인 구조로 표현이 된다. 객체지향프로그래밍에서 이질적인 구조를 설계하는 도구는 무엇인가? Q. 배열과 클래스의 공통점으로 자바에서 배열과 클래스를 무
메인(시작)클래스가 동작(실행)되는 방식JVM이 실행할 클래스를 찾는다. static 키워드가 붙어있는 멤버들은 정해진 메모리(static-zone) 위치에 한번 자동으로 로딩한다.\-> static 멤버들은 클래스를 사용하는 시점에서 딱 한번 메모리에 로딩 된다는 점
(static-zone / none static-zone)메서드의 바이트코드(기계어 코드)가 할당되는 공간static-zone과 none-static-zone으로 나누어진다.static 멤버들은 static-zone에 할당된다.(Generation)객체가 생성되는 메모
메서드가 호출되면 호출된 기계어코드가 push되고 실행되는 메모리 공간현재 프로그램이 실행되고 있는 상태를 파악할 수 있다.LIFO(Last-In-First-Out)구조이다.
부모가 자식들에게 자신의 것을 사용할 수 있도록 허락하는 것ex. 중복적인 데이터의 VO를 여러개 만들지 않고 1개의 부모클래스를 통해 상속 받아 사용객체를 설계하다보면 비슷한 클래스의 경우 중복적인 요소가 발생한다.객체를 수평적구조로 설계할 경우의 단점1) 코드의 중
Q. 클래스를 수직적 구조로 계층화하여 설계하는 방법을 무엇이라고 하는가? Q. 자바의 상속에서 사용하는 키워드를 쓰시오. Q. 상속 관계에 있는 클래스에서 객체생성을 할 때 상위 클래스의 생성자를 호출하는 메서드를 쓰시오. Q. 상속관계에서 하위클래스가 상위클래스를 접근하기 위한 접근 제한자를 쓰시오. Q. 코드를 수직적구조(상속)로 설계하면 장점...
✅ Upcasting(업캐스팅) : 부모가 자식을 가리키는 객체생성 방법부모클래스 변수명 = new 자식클래스명();상속체이닝 : 맨 위 부모클래스부터 객체가 생성되어 자식까지 연결되는 구조super() : 상위 클래스의 생성자를 호출하는 메서드생성자 메서드에서 가장
Q. 상속관계에 있는 클래스를 객체생성 할 때 하위클래스에서 상위클래스의 객체를 생성 할 때 사용하는 메서드를 쓰시오. Q. Dog클래스와 Animal클래스가 상속관계일 때,Animal x = new Dog(); 처럼 객체를 생성하는 방법을 무엇이라고 하는가? Q.
부모와 자식 간에 형변환이 된다.부모는 여러 명의 자식을 가리킬 수 있다.부모를 알면 자식들을 관리하기 쉽다.자동 형변환강제 형변환상위클래스의 타입을 하위클래스의 타입으로 바꾸는 행위업캐스팅이 되어야 다운캐스팅이 될 수 있다.
💡 다형성이란?
Q. 업캐스팅으로 객체를 생성한 후 상위클래스의 타입을 하위클래스의 타입으로 바꾸는 형변환을 무엇이라고 하는가? Q. 상위클래스가 동일한 메시지로 하위클래스를 서로 다르게 동작 시키는 객체지향 이론을 무엇이라고 하는가? Q. 다형성을 만족할 수 있는 4가지 전제조건을 쓰시오. Q. 특정 타입이 어떤 타입으로부터 생성이 되었는지 타입을 알아보는 연산자는...
부모가 명령을 내리면 자식이 반드시 동작(반응)을 해야한다.다형성 전제조건 4가지 필수 --> (상속관계, 재정의, 업캐스팅,동적바인딩)반드시 재정의(override)가 되어야 한다.부모클래스를 추상클래스로 만든다.불완전한 클래스메서드의 구현부가 없다.(추상메서드)접근
Q. 서로 비슷한 클래스의 공통부분을 묶을 때 사용하는 클래스를 무엇이라고 하는가? Q. 서로 다른 클래스의 공통부분을 묶을 때 사용하는 클래스를 무엇이라고 하는가? Q. 인터페이스가 가질 수 있는 멤버 2가지를 쓰시오. Q. 다형성을 보장하기 위해서 등장된 클래
최소값 초기화 : int min - arr0;최대값 초기화 : int max - arr0;배열에서 첫번째 값을 최대, 최소값으로 초기화한다.만약 최대값을 찾는데 초기화를 임의로 0으로 했다고 가정했을 때, 배열의 값이 1~3까지의 3개의 정수로 이루어 져 있을 경우 초
Q. Random클래스를 이용하여 난수를 1~10까지 발생시키는 코드를 기술하시오. Q. 프로그래밍 언어나 플랫폼에 상관없이 데이터를 교환할 수 있도록 설계된 데이터 형식을 무엇이라고 하는가? Q. 이름(name) "홍길동", 나이(age) 30 인 데이터를 JSON 형식으로 표현하시오. Q. JSON 형식의 문자열을 자바 객체로 변환해주는 Gson ...
기본 데이터타입|Wrapper 클래스 :---|:--- byte|Byte short|Short int|Integer long|Long float|Float double|Double char|Character boolean|Boolean 작업|설명 :---|:--- Boxing|기본 데이터 타입을 해당하는 wrapper 클래스 객체로 변환 하는 것 예시|i...
인터페이스/클래스|설명|분류 :---:|:---|:---: List|순서가 있는 객체의 모음을 다루는 인터페이스|List ArrayList|List 인터페이스를 구현하는 클래스|List LinkedList|List 인터페이스를 구현하는 클래스|List Set|중복된 원
클래스, 인터페이스, 메소드 등에서 사용될 수 있는 타입 매개변수(parameter)ex.ArrayList는 제네릭 타입을 사용하여 요소의 타입을 지정할 수 있다.이 때 요소의 타입은 ArrayList의 인스턴스를 생성할 때 매개변수를 통해 전달된다.요소의 타입을 명시
단일 추상 메서드 인터페이스(SAM)단 하나의 추상메서드를 가진 인터페이스를 의미한다.함수형 인터페이스를 사용하면 람다 표현식을 활용할 수 있게 된다.함수형 인터페이스는 @FunctionalInterface 어노테이션을 사용하여 표시할 수 있다.어노테이션은 선택 사항이
함수형 프로그래밍에서 사용되는 함수를 간결하게 표현하기 위한 방법 중 하나이다.익명 함수(anonymous function)의 한 형태로써, 메서드에 대한 구현을 간결하게 표현하는 방법이다.람다식은 함수형 인터페이스(Functional Interface)와 함께 사용되