
Java/기본 문법 2023. 8. 12.
JAVA 객체지향 프로그래밍 - Collection
230726 JAVA Collection 생성 일시: 2023년 7월 25일 오후 4:26 🌍TISTORY Collection Framework List Set Map Queue Stack 정렬 Collection Framework 틀, 뼈대: 객체들을 한곳에 모아 놓고 편리하게 사용할 수 있는 환경을 제공 인터페이스의 일종이라고 생각하면 됨! (강제성, 독립성) 정적 자료구조 (Static data structure) 고정된 크기의 정적 자료구조 배열이 대표적인 정적 자료구조 선언 시 크기를 명시하면 바꿀 수 없음 동적 자료구조 (Dynamic data structure) 요소의 개수에 따라 자료구조의 크기가 동적으로 증가하거나 감소 리스트, 스택, 큐 등 자료구조들의 종류는 결국은 어떤 구조에서 얼마..

Java/기본 문법 2023. 8. 11.
JAVA 객체지향 프로그래밍 - 인터페이스, 제네릭
230725 객체지향 프로그래밍 - 인터페이스, 제네릭 생성 일시: 2023년 7월 24일 오후 8:22 🌍TISTORY 인터페이스 인터페이스 vs 클래스 Generic 인터페이스 Interface 인터페이스란? 서로 다른 장치들을 연결시켜 주는 규격 인터페이스 완전히 추상화된 설계도 클래스와 유사하게 작성이 가능 (class 대신 interface 키워드 사용) 모든 메서드가 추상 메서드 (JDK8부터 default method, static method 추가) public interface 인터페이스이름 { public static final 타입 상수이름1 = 10; (public static final 생략가능) 타입 상수이름 상수이름2 = 10; public abstract void 메서드이름1..

Java/기본 문법 2023. 8. 10.
JAVA 객체지향 프로그래밍 - 다형성
230724 객체지향 프로그래밍 - 다형성, 추상 클래스 🌍TISTORY 다형성 추상클래스 추가) 바인딩 - 동적 바인딩, 정적 바인딩 다형성 다형성의 모습 `public class Person { String name; int age; Person() {} Person(String name) { this.name = name; } public void eat () { System.out.println("음식을 먹는다."); } } public class Student extends Person { String major; public void study() { System.out.println("공부를 한다."); } } 다형성이란 多形을 가질 수 있는 성질 상속관계에 있을 때 조상 클래스의 타입으로 ..

Java/기본 문법 2023. 8. 10.
JAVA 객체지향 프로그래밍 - 상속
230721 객체지향 프로그래밍 - 상속 상속 Object 클래스 final 키워드 상속 (Inheritance) 어떤 클래스의 특성을 그대로 갖는 새로운 클래스를 정의한 것 조상클래스의 상속을 받아 만든 하위, 자식 클래스 public class Person { String name; int age; public void eat() { System.out.println("음식을 먹는다.); } ] public class Student { String name; int age; String major; public void eat() { System.out.println("음식을 먹는다."); } public void study() { System.out.println("공부를 한다."); } } pub..

Java/기본 문법 2023. 8. 9.
JAVA 객체지향 프로그래밍 - 객체
230720 객체지향 프로그래밍 - 객체 JVM 메모리 구조 JVM 메모리 구조 Java 언어는 메모리 관리를 개발자가 하지 않음 GC (Garbage Collection) 가 메모리 관리 Garbage Collection Heap 영역 (class 영역 포함) 에 생성된 메모리 관리 담당 더이상 사용되지 않는 객체들을 점검하여 제거 자동적 실행/CPU가 한가 or 메모리 부족 JVM에 의해서 실행 System.gc() 를 통해 호출 (시스템 영향을 줘서 하지 않기…) 객체 생성과 메모리 할당 Person p1 = new Person(); p1.name = "Yang"; p1.age = 45; p1.hobby = "유튜브"; 클래스 영역 = 메소드 영역: 클래스 안에 있는 메소드가 들어가기 때문에 메소드..

Java/기본 문법 2023. 8. 9.
JAVA 객체지향 프로그래밍 - 클래스와 메소드
230719 객체지향 프로그래밍 - 클래스와 메소드 객체지향 프로그래밍 객체지향 프로그래밍 (OOP, Object Oriented Programming) 객체: 사물과 같이 유형적인 것과 개념이나 논리와 같은 무형적인 것들 지향: 작정하거나 지정한 방향으로 나아감 객체 모델링: 현실세계의 객체를 SW 객체로 설계하는 것 클래스 (Class) 객체를 만드는 설계도 (Blueprint) 인스턴스 (Instance) 클래스를 통해 생성된 객체 클래스: 붕어빵 틀 인스턴스: 붕어빵 느낌… 내가 마음대로 만드는 자료형~ 객체지향 프로그래밍 특징 (A PIE) Abstraction (추상화) Polymorphism (다형성) Inheritance (상속): 상위 클래스가 하위 클래스에 전달 Encapsulation..

Java/기본 문법 2023. 8. 9.
JAVA 문법: 배열
230718 배열 배열 (Array) 배열이란? 같은 종류의 데이터를 저장하기 위한 자료구조 크기가 고정되어 있음 (한번 생성된 배열은 크기를 바꿀 수 없음) 배열을 객체로 취급 (참조형) 배열의 요소를 참조하려면 배열 이름과 색인 (Index) 이라고 하는 음이 아닌 정수 값을 조합하여 사용 (파이썬처럼 마이너스로 접근하지 못함) index 번호를 가지고 각 요소에 접근 index 번호는0부터 시작 배열이름.length를 통해 배열의 길이 조회 가능 배열의 길이는 임의로 변경 불갛마 길이 변경 필요시 새로운 배열을 생성 후 내용을 옮긴다 배열의 선언 아래 두 가지 방식 중 하나로 가능하다 타입 [] 변수 요것을 조금 더 권장 타입 변수 [] 타입 배열 이름 선언 int iArr int[] iArr; c..

Java/기본 문법 2023. 7. 25.
JAVA 기본 문법: 변수와 자료형, 형 변환, 연산자, 제어/반복문
230717 변수와 자료형 정의 데이터를 저장할 메모리의 위치를 나타내는 이름 메모리 상에 데이터를 보관할 수 있는 공간을 확보 적절한 메모리 공간을 확보하기 위해서 변수의 타입 등장 ‘=’ 를 통해서 CPU에게 연산 작업을 의뢰 메모리의 단위 0과 1을 표현하는 bit 8bit = 1byte 변수 (Variable) 대소문자를 구분한다 공백은 허용되지 않는다 숫자로 시작할 수 없다 ‘$’와 ‘_’를 변수 이름에 사용할 수 있다. 이외 특수문자는 허용되지 않는다 예약어(Keyword, 자바 문법을 위해서 미리 지정되어 있는 단어)는 사용할 수 없다 합성어의 경우 주로 camelCase를 활용한다 한글을 이용한 변수 작명 가능 (권장 X) 자바 예약어 abstract, boolean, break, byte..

Java/기본 문법 2023. 7. 25.
JAVA 기본 문법: JVM, 출력, main method, 출력
230717 Java 기본 운영체제와 프로그램이란? 프로그램 (Program) 컴퓨터에서 실행될 때 특정 작업 (specific task)을 수행하는 일련의 명령어들의 모음(집합) 운영체제 (Operating System, OS) 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어 컴퓨터의 자료표현 비트 (Bit) Binary Digit 바이트 (Byte) 4 bit 2진수 (Binary) 00001001 = 9 10001001 = -119 (제일 앞 글자가 부호 나타내는 것 같음…) 음수 표현 방식: 2의 보수법 -128~127 까지 표현 자바 가상 머신 (JVM, Java Virtual Machine)이란? 자..