목록전체 글 (763)
WON.dev
1.1 static - 사전적 의미 : 정적 - 정적 : 미리 만듦 - 동적 : 나중에 만듦 (new) - 정적 멤버는 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메소드를 말한다. - 객체마다 가지고 있어야 할 데이터라면 인스턴스 필드로 선언하고, 객체마다 가지고 있을 필요성이 없는 공용적인 데이터라면 정적 필드로 선언하는 것이 좋다. 1.2 static 사용 이유 - 모든 객체(인스턴스)가 공유하기 위해서 - 객체(인스턴스) 생성 (new) 없이 클래스를 사용하기 위해서 1.3 static 동작 - static 멤버(필드나 메소드)는 프로그램 실행 직전에 미리 만들어진다. - 객체(인스턴스) 생성 되기 전에 미리 만들어진다. - 객체(인스턴스) 생성(new)없이도 만들어진다...
1.1 this - 생성된 객체(인스턴스) 자신의 주소(참조, 레퍼런스) - 생성된 객체(인스턴스)가 자기 자신을 호출하는 방식 - 클래스 구성 요소에 this 활용 필드 : this.필드 생성자 : this()- 생성자(constructor) 내부에서만 사용가능!
1.1 생성자(Constructor)란? - 객체(인스턴스)가 생성될 때 자동으로 호출되는 메소드. - 모든 객체(인스턴스)는 생성될 때 반드시 생성자를 호출한다.(생성자를 호출하지 않는 인스턴스는 없다!) - 개발자가 생성자를 만들지 않으면 아무 일도 하지 않는 '디폴트 생성자'가 호출된다. class Person { Person(){}; // 디폴트 생성자 Car() == 생성자 car객체(내가 지정함) Person man = new Person();-> Person() == 생성자 man객체(내가 지정함) Circle circle = new Circle();-> Circle() == 생성자 circle객체(내가 지정함) - 생성자 선언 방법 ①클래스이름(②매개변수선언) { 생성자 본문; } ① 클래..
1.1 메소드 - 객체의 동작에 해당하는 중괄호 {} 블록을 말하며 해당 블록의 이름이 메소드 이다. - 메소드는 기본적으로 '메소드이름()'의 형태(괄호를 붙인 형태)를 갖추기에 괄호가 붙는 것들은 전부 메소드라고 생각하면 된다. 1.2 메소드 작성 규칙 1) 메소드 정의 (메소드 만들기) 2) 메소드 호출 (메소드 사용하기) 3) 메소드 정의 방법 형식 ①리턴타입 ②메소드이름 (③매개변수선언, ...) { 메소드본문; ④return 리턴값; } ① 리턴타입 - 메소드의 결과가 가지는 자료형 - 메소드의 결과가 없다면 void 를 명시함(④이 없어야 함) ② 메소드이름 - 변수이름처럼 개발자가 직접 생성 - 숫자로 시작하면 안되고 '$', '_'를 제외한 특수문자를 사용할 수 없다. - camel ca..
1.1 객체지향 언어란(OOP:Object Oriented Programming)? - 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립해서 완성된 프로그램을 만드는 기법 - 특징으로는 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism)이 있다. 1.2 객체란(Object)? - 자신의 속성을 가지고 있는 다른 것과 식별 가능한 것 - 자바에서는 이 속성들을 각각 필드(Field)와 메소드(Method)라고 부른다. - 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다. 1.3 객체 생성(인스턴스 생성) - 정의된 클래스를 이용하여 '객체'를 생성한다. - 생성 방법 클래스명 객체명 = new 클래스명(); 클래스명 인..
2.1 메모리 할당 - 메모리상에 어떤 값을 저장하게 되면 그 값에 대한 메모리 번지가 만들어지는 데, 메모리 번지는 16진수로 표현된다. 메모리번지를 이용하여 개발자들이 코드를 작성할 경우, 16진수로 저장된 값의 메모리 번지를 알고 있어야 한다. 위와 같이 불편함이 있기 때문에 메모리 번지를 대체하는 이름을 사용하는 데, 이것이 변수, 배열명, 객체명, ArrayList등이다. 따라서 변수, 배열명, 객체명, ArrayList등은 각각의 저장위치를나타내는 메모리 번지의 별명이다.
test_arry Q1. 배열의 크기가 10인 배열을 선언하고 1~10까지 순서대로 값을 넣은 후 배열과 배열의 값의 합을 출력 t[] scores = new int[10]; int g = 0; for(int i = 0; i 70 리사의 점수 입력 >> 100 package org.joonzis.test; import java.util.Arrays; import java.util.Scanner; public class Test08 { public static void main(String[] args) { //Test08.java //Q. 성적 관리 프로그램 //5명의 int형 점수를 저장하는 scores 배열을 선언하고, 점수를 //입력받아 최대, 최소, 평균 점수를 출력하기 //String형 배열 n..
1.1 코드 실행 흐름 제어 - 자바 프로그램을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는 것이 제어문이다. - 제어문은 조건식과 중괄호{} 블록으로 구성되는데, 연산 결과에 따라 블록 내부의 실행 여부가 결정된다. - 제어문의 종류는 조건문과 반복문이 있는데, 조건문에는 if, switch문이 있고 반복문에는 for, while, do-while문이 있다. - 제어문 블록 내부에는 또 다른 제어문을 사용할 수 있다. if문 내부에 for문을 가질 수 있고, while문도 가질 수 있다. 그렇기 때문에 개발자가 원하는 매우 복잡한 흐름 제어도 가능하다. Test01.java Q. 정수를 입력 받아 "짝수", "홀수" 구분해서 출력하기 3의 배수는 "3의 배수"로 출력하기 package org.joo..
1.1 연산자와 연산식 - 프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(operations)이라고 한다. - 연산에 사용되는 표시나 기호를 연산자(operator)라고 하고, 연산되는 데이터는 피연산자(operand)라고 한다. - 연산자는 필요로 하는 피연산자의 수에 따라 단항, 이항, 삼항 연산자로 구분된다. 1.2 단항, 이항, 삼항 연산자 - 단항 연산자(피연산자 한 개 - 증가/감소 연산자, 논리 부정 연산자) ex) x++, --y, !x - 이항 연산자(피연산자 두 개 - 산술, 비교, 논리) ex) x+y, x==y, x&&y - 삼항 연산자(피연산자 세 개 - 조건 연산자) ex) (sum>90) ? x : y 1.3 연산의 방향과 우선순위 - 산술 연산식에서 곱셈(*), 나..
3.1 타입 변환 - 타입 변환이란 데이터 타입을 다른 데이터로 변환하는 것을 말한다. - 타입 변환에는 자동(묵시적) 타입 변환과 강제(명시적) 타입 변환 2가지가 있다. 3.2 자동 타입 변환 - 프로그램 실행 도중에 자동으로 타입 변환이 일어나는 것을 말한다. - 타입이 큰 크기를 가지는 타입에 저장될 때 발생한다. byte(1) < short(2) < int(4) < long(8) < float(4) < double(8) long보다 float을 더 큰 타입으로 표시한 이유는 float이 표현할 수 있는 값의 범위가 크기 때문이다. 3.3 강제 타입 변환 - 큰 크기의 데이터를 강제로 작은 데이터로 쪼개어서 저장하는 것을 말한다. - 캐스팅 연산자를 사용하는데, 괄호 안에 들어가는 타입은 쪼개지는..