생활코딩 - Java(접근 제어자)
·
Java & Spring/Java
□ 접근 제어자 1. 사용자가 객체 내부적으로 사용하는 변수나 메소드에 접근함으로서 개발자가 의도하지 못한 오동작을 일으키게 되는 문제로부터 객체의 로직을 보호하기 위해서는 맴버에 따라서 외부의 접근을 허용하거나 차단해야 할 필요가 생긴다. 2. 사용자에게 객체를 조작 할 수 있는 수단만을 제공함으로서 결과적으로 객체의 사용에 집중 할 수 있도록 돕기 위함이다. 구분 같은클래스 같은패키지 다른패키지 서브클래스 관계없음 public O O O O protected O O O X default O O X X private O X X X
생활코딩 - Java(유효범위)
·
Java & Spring/Java
□ 유효범위(Scope) public static void main(String[] args) { for (int i = 0; i < 5; i++) { a(); System.out.println(i); } 위 메소드에서 i = 0부터 시작해 i < 5 인경우 i에 +1을 하며 System.out.println(i); 을 반복하는 for문이다. 그런데 메소드 a();로 인해 i = 0 이 반복되어 문제가 발생하지않는 이유는 a()라는 메소드 안에서 int i = 0;이라는 변수가 정의되어있기때문에 a()밖으로는 영향을 못미치기 때문이다. → int i = 0;의 경우 a()라는 메소드 안이 유효범위(scope)이다. ※ 두 코드의 차이점 : i = 0; 은 변수를 할당 한 것이고 int i = 0;은 변수..
생활코딩 - Java(객체지향프로그래밍)
·
Java & Spring/Java
■ 객체지향 □ 문법 객체지향을 편하게 할 수 있도록 언어가 제공하는 기능을 익히는 것이다. 이러한 기능들은 if, for문처럼 문법적인 구성을 가지고 있다. 이 문법을 이해하고, 숙지해야 객체를 만들 수 있다. 객체를 만드는 법에 대한 학습이라고 할 수 있다. □ 설계 좋은 객체를 만드는 법이다. 이것을 다른 말로는 설계를 잘하는 법이라고 할 수 있다. 좋은 설계는 현실을 잘 반영해야 한다. 현실은 복잡하다. 하지만 그 복잡함 전체가 필요한 것은 아니다. □ 부품화 프로그래밍은 정신적인 활동이다. 정신적인 것은 실체가 없고, 무한하고, 유연하다. 정신의 이러한 특성은 때로 오해나 모순 같은 문제점을 유발한다. 소프트웨어도 이러한 문제점을 그대로 상속받는다. 이러한 문제점을 극복하기 위한 노력 중의 하나..
생활코딩 - Java(입력과 출력)
·
Java & Spring/Java
1. String[] args String[] : 문자열을 담을 수 있는 배열이다. args : 변수 (String[] args) : main메소드의 파라미터(입력값) void : main의 출력값이 존재하지 않는다. 2. 콘솔환경에서 실행방법 cmd(명령 프롬포트) 실행 cd 경로 입력(최상위 디렉토리로 이동) dir/w, dir을 통해 디렉토리 확인 java -cp bin(class가있는 디렉토리) org.opentutorials.javatutorials.io.(class파일 패키지 경로)InputDemo(실행시킬 class파일) 3. 이미 실행중인 프로그램에 입력을 받는법 □ scanner 출처 : 생활코딩 유튜브 : https://www.youtube.com/watch?v=54hrXAyYUGo&l..
생활코딩 - Java(메소드)
·
Java & Spring/Java
1. 메소드의 정의와 호출 2. main메소드 → 약속(단순암기) main 메소드는 규칙이다. 무언가를 만들려면 반드시 public static void main(String[] args)가 이끄는 중괄호 안에 실행되기를 기대하는 로직을 위치시켜야 한다. 3. 입력과 출력 □ 입력 public static void numbering(int limit) 에서(int limit)은 매개변수(parameter) numbering(5)은 인자(argument) □ 출력(return) numbering 함수를 정의하고 인자값을 받아 output을 retrun 출처 : 생활코딩 유튜브 : https://www.youtube.com/watch?v=54hrXAyYUGo&list=PLuHgQVnccGMCeAy-2-llh..
생활코딩 - Java(배열)
·
Java & Spring/Java
1. 배열(Array) String[] : String(데이터타입) [](의 그룹) classGroup : 변수 2. for-each 잦은 반복문과 배열의 조화로인해 생겨난 문법 배열 members의 모든 요소들을 반복하여 변수 e에 대입 3. 반복문의 오류 □ 배열의 범위 밖 □ 배열의 한계 배열은 초기화할 때 크기를 정한다. 따라서 해당 크기 이상의 값을 넣을 수 없다. 출처 : 생활코딩 유튜브 : https://www.youtube.com/watch?v=pegfdsD1IY4&list=PLuHgQVnccGMCeAy-2-llhw3nWoQKUvQck&index=48
생활코딩 - Java(조건문, 논리연산자, 반복문)
·
Java & Spring/Java
□ 조건문 1. if 조건문 □ 기본 □ if else, else if □ if 중첩 2. switch 조건문 □ 논리연산자 1. and( && ) &&(and)는 좌항과 우항의 값이 모두 참(true)일 때 참이 된다. 2. or( || ) ||(or)는 좌우항 중에 하나라도 true라면 전체가 true가 되는 논리 연산자다. id가 "egoing", "k8805", "sorialgi" 중 하나(or) 이면서(and) pw가 "111111"이면 true 출력 3. not( ! ) !true = false !false = true 처럼 연산된다 □ 반복문 1. while문 2. for문 for (int i = 0; i < 10; i++)에서 각 항의 의미 int i = 0 : 시작 i < 10 : 조건 ..
생활코딩 - Java(비교와 Boolean)
·
Java & Spring/Java
1. Boolean 불린(Boolean)은 참과 거짓을 의미하는 데이터 타입으로 bool이라고도 부른다. 불린은 정수나 문자와 같이 하나의 데이터 타입인데, 참을 의미하는 true와 거짓을 의미하는 false 두 가지의 값을 가지고 있다. 아래는 비교 연산자들에 대한 설명이다. □ 비교(관계) 연산자 연산자 설명 == 같다 != 다르다 >, , =
생활코딩 - Java(연산자)
·
Java & Spring/Java
1. 산술연산자 + 더하기 - 빼기 * 곱하기 / 나누기 % 나머지 3번의 경우 a형태가 int이므로 float 형식으로 자동 형변환 실시 후 연산 2. 단항연산자 1+2에서 사용한 연산자 +는 이항(二두이 項항목항, infix operator) 연산자이고, 좌항인 1과 우항인 2를 더해주는 작업을 하고 있다. 단항(單홑단 項항목항, unary) 연산자는 하나의 항을 대상으로 연산이 이루어지는 연산자이다. 다음은 자바에서 제공하는 단항 연산자들이다. 3. 연산의 우선순의(참고만) 우선순위 연산자 결합방향 1 [ ] → () . 2 ++ ← -- +(양수) -(음수) ~ ! (type) new 3 * / % → 4 +(더하기) -(빼기) → +(문자 결합 연산자) 5 >>> 6 = instanceof..
생활코딩 - Java(데이터타입, 형변환)
·
Java & Spring/Java
1. 정수형 데이터 타입 메모리의 크기 표현 가능 범위 byte 1 byte -128 ~ 127 short 2 byte -32,768 ~ 32,767 int 4 byte -2,147,483,648~2,147,483,647 long 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 2. 실수형 float 4byte ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) double 8byte ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) 3. 문자 char 2byte 모든 유니코드 문자 4. 상수의 데이터 타입 int(정수) != 2.2(실수) 이므로 ..