객체 지향 프로그래밍 (Object Oriented Programming, OOP)은 각각의 기능들을 객체화하여 main 함수에서 객체화 시킨 기능들을 호출하며 사용하는 프로그래밍 기법으로 캡슐화, 상속, 다형성의 특징을 가지고 있다.캡슐화 (Encapsulation)자바에서의 캡슐화란, 값의 보호를 위해 객체의 필드, 메소드를 필요에 의해 감추거나 들어내는 것(은닉성)을 말한다. 필드와 메소드를 보호하는 이유는 외부로부터의 잘못된 접근으로 인해 객체의 데이터나 메소드에 유효하지 않은 값이 들어가서 시스템 전체에 영향을 끼치는 것을 방지하기 위해서이다. 클래스 내의 변수나 함수를 감추거나 드러내는 은닉성은 자바에서 접근제어자를 통해 실형시킬 수 있다. * 접근제어자public : 모든 클래스에서도 접근 ..
static static 은 정적, 고정된이란 의미이다. static 키워드를 이용해 static 변수와 static 메서드를 생성할 수 있는데 이를 정적 멤버 (=클래스멤버)라고 한다. static 키워드를 통해 생성된 정적 멤버들은 heap 영역이 아닌 static 영역에 생성된다. static 영역에 할당된 메모리는 모든 객체가 공유할 수 있다. 객체 생성 시 할당된 heap영역의 메모리는 Garbage Collector를 통해 관리를 하지만 static 영역에 할당된 메모리는 관리 영역 밖에 존재하므로 static을 자주 사용하면 프로그램의 종료 시까지 메모리가 할당된 채로 존재한다. ✨ 특징 프로그램 실행 시 생성되어 종료 시 소멸 단 한 번만 생성 클래스명으로 접근 가능 자동초기화 여러 인스턴..
접근 지정자 (= 접근제어자) 자바 클래스의 멤버 각각에 외부에서 접근할 수 있는 범위를 지정하는 접근 지정자를 둘 수 있다. 다음과 같은 네 가지가 있다. public: 어디에서든 자유롭게 접근 가능 protected: 같은 패키지 내, 다른 패키지에서 상속을 받은 클래스 내부에서 사용 가능 default: 같은 패키지 내 사용 가능 private: 동일 클래스 내 사용 가능 권장하는 변수의 접근지정자 로컬변수 : 접근지정자 사용불가 인스턴스 변수 : private 권장 👉 외부에서 직접 접근하면 쓰레기값이 저장될 수 있기 때문 클래스(static) 변수 : public 권장 은닉화 은닉화란 값의 보호를 위해 객체의 필드, 메소드를 하나로 묶고 감추는 것을 말한다. private 지정자를 사용하면 해당..
생성자 (Constructor) 생성자는 인스턴스 변수를 초기화 시키는 역할을 한다. new 를 통해 객체의 인스턴스를 생성할 때 반드시 호출이되는 메소드이다. 생성자는 반드시 클래스명과 동일하게 정의한다. 생성자를 생략하면 컴파일러가 자동적으로 기본 생성자를 생성한다. 생성자의 매개변수를 다르게 지정하여 정의하는 것을 생성자 오버로딩이라 한다. public class Cat { String name; int age; // 생성자 public Cat() { // 클래스명과 동일하게 정의 } // 생성자2 public Cat(String name, int age) { // 오버로딩 this.name = name; this.age = age; } } public class Main{ public static..
데이터 타입은 변수에 저장할 데이터가 메모리에 어떻게 저장되고 어떻게 처리되어야 하는지 명시적으로 알려준다. 이 데이터 타입은 기본형타입과 참조형타입으로 구분된다. 기본형 타입 기본형 타입에는 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)로 나뉜다. 모든 값은 메모리의 스택(stack) 에 저장 변수 선언과 동시에 메모리 생성 null 값을 가질 수 없다. 참조형 타입 참조형 타입에는 클래스, 배열, 인터페이스 등 기본형 타입을 제외한 나머지이다. 실제 값은 메모리의 힙(heap)영역에 저장하고, 영역의 주소값을 스택(stack)에 저장 참조형 변수는 null로 초기화 가능
클래스 내의 멤버 변수를 제외한 나머지 변수들은 모두 로컬변수이고, 멤버변수 중 static 키워드를 사용한 것은 클래스변수 그렇지 않은 것은 인스턴스 변수이다./* 클래스 영역 */class Variables { int a; // 인스턴스 변수 static int b; // 클래스 변수 /* 메서드 영역 */ void method() { int c = 0; // 로컬 변수 }} 로컬 변수메서드 안에서 선언된 변수메서드가 호출될 때 생성되고 메서드가 종료될 때 제거스택 stack 메모리에 저장기본적으로 메서드 블록 scope를 따른다반드시 사용 전에 초기화 필수 인스턴스 변수메서드 밖에서 선언된 변수객체 생성할 때 생성되고 객체..
에라토스테네스의 체 소수를 판별하는 알고리즘으로 소수들을 대량으로 빠르고 정확하게 구하는 방법이다. 에라토스테네스의 체는 가장 먼저 소수를 판별할 범위를 배열에 할당하고, 하나씩 지워나간다. 1~n 까지의 소수를 구한다면 1. n+1 크기의 배열을 생성 후 2부터 n까지의 정수를 넣는다. 2. 반복문을 돌며 배열 값이 0인 i는 건너뛴다. 3. i=2 부터 시작하여 i의 배수에 해당하는 수를 모두 0으로 바꿔준다. 💡 자연수 n이 입력되면 1부터 n까지의 소수 출력하는 프로그램 작성 import java.util.*; class Main { public static void main(String[] args) { Main T = new Main(); Scanner s = new Scanner(System..
객체 Object 객체지향이론에서는 소프트웨어 세계에 구현할 대상으로 사물과 같은 유형적인 것 뿐만 아니라, 개념이나 논리와 같은 무형적인 것들도 객체로 간주한다. 클래스 Class객체를 정의해놓은 것으로 객체의 설계도 또는 틀이라고 할 수 있다. 클래스에는 객체와 연관되어 있는 변수와 메소드 그리고 생성자가 있다. 인스턴스 Instance객체가 메모리에 할당되어 실제 사용될 때 인스턴스 라고 한다.인스턴스는 어떤 원본(추상적인 개념)으로부터 생성된 복제본을 의미한다클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화 라고 하며, 만들어진 객체를 그 클래스의 인스턴스라고 한다./* 클래스 */public class Cat { // 인스턴스 변수 String name; int age; ..
[Javascript] AJAX란 무엇인가? AJAX 란? AJAX (Asynchronous Javascript And Xml)은 비동기식 자바스크립트와 xml라는 의미로 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능이다. 브라우저 gangintheremark.tistory.com AJAX에 대해서 AJAX란 자바스크립트를 이용해 서버와 브라우저가 비동기 방식으로 데이터를 교환할 수 있는 통신 기능이다. 비동기 통신이기 때문에 새로고침 없이도 데이터 로드가 가능하다. 장점 서버에서 처리가 완료될 때까지 기다리지 않고 다른 프로세스를 진행 가능하다 웹페이지의 속도와 성능이 향상된다 단점 연속으로 데이터 요청 시, 서버 부하 증가 // Jquery 에서 AJAX ..
🎀 이벤트와 이벤트 핸들러 바로가기 이벤트 연결 (event binding) 특정 요소에서 발생하는 이벤트를 처리하기 위해서는 이벤트 핸들러 함수를 작성해야 한다. 작성된 이벤트 핸들러를 특정 요소(이벤트 소스)에 연결하는 것을 이벤트 연결(event binding)이라고 한다. $(이벤트소스).on("이벤트타입", 이벤트 처리 함수 ); OK text: 아이디 비밀번호 사과 바나나 수박 💡 this 이벤트에 의해 실행되는 함수 안에서 this를 사용할 수 있다. $(this)는 이벤트가 발생한 자기 자신을 감지할 수 있게 된다. 일반적으로 동일한 소스가 반복되는 곳에서 사용된다. 예를들어 class의 이름이 여러 개가 동일한 경우 한 군데에만 이벤트를 주고 싶을 때 사용한다. 동적으로 추가된 DOM 객..
Jquery의 유틸리티 메소드는 배열 순회, 배열 필터링, 데이터를 배열형식으로 변환, 배열 복제, 데이터의 공백 제거 등 효율적인 프로그램 개발이 가능하다. 메소드 설명 💡 $.each(arr, function) 배열의 데이터를 단순 반복 처리. return false하면 반복처리 중지 💡 $.grep(arr, function) 필터링 후 배열로 반환. 필터링 조건은 함수에서 return 💡 $.map(arr, function) 원본 배열을 함수를 적용하여 가공 후 반환 💡 $.merge(arr1, arr2) arr1과 arr2를 병합하여 arr1에 저장. 💡 $.trim(str) 지정된 문자열의 앞과 뒤의 공백제거 // 배열 데이터 관련된 유틸리티 메서드 var months = ['January', ..
Jquery의 Manipulation 메소드를 이용하여 DOM을 추가하거나 수정, 삭제, 복사하는 등의 처리를 하여 동적인 HTML 화면을 손쉽게 구현할 수 있다. 메소드 예시 설명 💡 .append() $("selector").append(html) 선택된 요소의 자식으로 들어가 뒤에 추가 💡 .prepend() $("selector").prepend(html) 선택된 요소의 자식으로 들어가 앞에 추가 💡 .before() $("selector").before(html) 선택된 요소의 형제로 들어가 앞에 추가 💡 .after() $("selector").after(html) 선택된 요소의 형제로 들어가 뒤에 추가 💡 .replaceWith() $("selector").replaceWith(html) 선..