[JAVA] 캡슐화와 접근제어자, 다형성
캡슐화와 접근제어자 캡슐화 외부로부터 데이터를 보호하기 위해서, 내부적으로만 사용되는 것을 감추려고 접근제어자를 사용한다. 직접 접근을 막고 메소드로 간접 접근허용시키면 메소드로만 접근이 가능하다. class Time { private int hour; // private로 같은 클래스를 제외한 외부 접근 금지 public vo...
캡슐화와 접근제어자 캡슐화 외부로부터 데이터를 보호하기 위해서, 내부적으로만 사용되는 것을 감추려고 접근제어자를 사용한다. 직접 접근을 막고 메소드로 간접 접근허용시키면 메소드로만 접근이 가능하다. class Time { private int hour; // private로 같은 클래스를 제외한 외부 접근 금지 public vo...
패키지(package) 패키지란? 서로 관련된 클래스의 묶음 자바 클래스를 모아놓은 일종의 디렉토리 패키지 선언 해당 소스 파일의 첫 번째 문장으로 한 번에 선언이 가능 클래스 컴파일 시 첫 줄에 자동으로 생성 패키지의 점(.)은 [상위패키지].[하위패키지].[클래스]을 의미한다. 패키지 선언이 없으면 이름없는(Unname...
상속(inheritance) 상속이란? 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 상속 특징 자식은 부모의 모든 멤버를 상속받는다.(생성자, 초기화 블록 제외) 자식의 멤버 개수는 부모보다 적을 수 없다.(많거나 같다) 상속은 단일상속만 가능하다. class Parent { ...
호출 스택 스택(stack) 스택의 사전 정의는 ‘쌓다’로 접시처럼 쌓아놓은 것을 의미한다. 호출 스택(call stack) 메소드 수행에 필요한 메모리가 저장되는 공간 메소드 호출 ->호출스택에 메모리 할당, 종료 -> 해제 아래 메소드가 다음 메소드를 ...
객체 지향 프로그래밍(OOP) - Object-Oriented Programming 절차적 프로그래밍을 보완한 새로운 패러다임(반대 개념은 아님) 객체(Object)가 모여 상호협력하여 데이터를 처리하는 방식 프로그램을 묶음 단위로 나눠 사용하기 편하게 만들어놓은 프로그래밍 방식 객체지향언어의 특징 캡슐화 상속 다형성 ...
현재까지는 1차원 배열을 배웠다.하지만 배열 안에 배열. 즉, 다차원 배열도 선언해서 사용이 가능하다. 2차원 배열의 선언과 인덱스 2차원 배열을 선언하는 방법은 다음과 같다. 선언과 방법 선언 예시 타입[][] 변수이름; int[][] score; ...
String배열의 선언과 생성 배열의 타입이 String이어도 int배열의 선언과 생성방법은 같다. String[] name = new String[3]; String배열의 초기화 초기화도 int배열의 초기화와 방법은 동일하다. 또한 new String[] 생략도 같다. char배열과 String클래스 String클래스는 cha...
배열이란? 같은 타입(예: int)의 여러 변수를 하나로 묶음으로 다루는 것 같은 타입의 많은 데이터를 저장할 때 배열을 사용하면 많은 데이터들을 손쉽게 다룰 수 있다. int[] score = new int[5]; 배열의 선언과 생성 선언 방법 원하는 타입의 변수를 선언하고 변수나 타입의 배열임을 의미하는 대괄호[]를 붙인...
조건문과 반복문 설명 조건문 조건식의 연산결과에 따라서 실행할 문장이 달라질 수 있음 if문과 switch문이 있으며 주로 if문이 사용된다. 반복문 어떠한 작업을 반복적으로 수행하여야 할 때 사용된다. 반복문의 종류는 for문, while문, do-while문이 있다. 조건문의 이해 if문 조건식과 괄호로 ...
연산자 연산을 수행하는 기호 자바에서는 사칙연산을 비롯해 많은 연산자들을 제공한다. 연산자와 피연산자 연산을 수행하려면 연산의 대상이 있어야 한다. 그 대상을 ‘피연산자(operand)’라고 한다. 연산자 : 연산 수행 기호(사칙연산 등) 피연산자 : 연산자의 작업 대상(변수, 상수, 리터럴, 수식) 연산자의 종...