[Java] 객체 생성과 필드
Dev/Java2022. 7. 4. 23:31[Java] 객체 생성과 필드

객체 생성 클래스를 완성시킨 다음, 객체를 생성할 때는 new ( )를 사용한다. new는 클래스로부터 객체를 생성시키는 연산자로, new 연산자 뒤에는 생성자가 온다. new 연산자를 사용하면 힙 영역에 객체를 생성한 뒤, 객체의 주소를 클래스 타입의 변수에 저장한다. //클래스 변수 = new 클래스(); public class Student{ }//클래스 선언 Student s1 = new Student(); Student s2 = new Student(); Student 클래스는 하나이지만 new 연산자를 사용한만큼 객체가 메모리에 생성된다. 비록 같은 클래스로부터 생성되었지만 s1, s2 각각의 객에는 자신만의 고유 데이터를 가진다. 즉, s1과 s2가 참조하는 Student 객체는 완전히 독립..

[Java] 객체 지향 프로그래밍의 특징
Dev/Java2022. 7. 4. 22:57[Java] 객체 지향 프로그래밍의 특징

객체 지향 프로그램의 특징으로는 캡슐화, 상속, 다형성 이 세가지를 들 수 있다. 이들 특징은 추후에 학습을 하다 보면 자연스레 알게 되지만, 개념부터 먼저 살펴보고자 한다. 캡슐화 캡슐화란 객체의 필드, 메소드를 하나로 묶고 실제 구현 내용을 감추는 것을 의미한다. 따라서 외부의 객체는 객체 내부의 구조를 알지 못하고 객체가 노출시키는 필드와 메소드만 이용 가능하다. 이러한 특징은 외부의 잘못된 사용으로 인해 객체가 손상되는 것을 방지하기 위한 목적이다. 자바에서는 캡슐화된 멤버의 노출 여부를 접근 제한자를 통해 결정한다. 나중에 살펴볼 접근 제한자는 객체의 필드와 메소드의 사용 범위를 제한한다. ex) 클래스 내에서만 이용 상속 상속이란 우리가 흔히 알고 있듯이 부모가 가지고 있는 것을 자식에게 물려..

[Java] 배열
Dev/Java2022. 7. 2. 18:28[Java] 배열

변수는 한 개의 데이터만 저장할 수 있다. 그렇기 때문에 만약 변수 100개를 선언하고 각 변수의 합을 구해야 한다면,, 정말 귀찮은 일임이 분명하다. 이럴 때 유용하게 사용할 수 있는 것이 바로 배열이다. 배열이란 같은 타입의 데이터를 연속된 공간에 나열시키고, 각 데이터에 인덱스를 부여해 놓은 자료구조이다. 배열을 사용하기 위해서느는 우선 배열 변수를 선언해줘야한다. " 타입 [ ] 변수 ; " 또는 " 타입 변수 [ ] ; " 대괄호 [ ]는 배열 변수를 선언하는 기호로, 타입 뒤나 변수 뒤에 붙을 수 있다. 타입은 배열에 저장될 데이터 타입을 말한다. int[] intArray; String strArray[]; 이러한 배열 변수는 참조 변수에 속한다. 다른 객체들과 마찬가지로 배열도 힙 영역에 ..

[Java] 객체 / 클래스 (0)
Dev/Java2022. 6. 29. 22:48[Java] 객체 / 클래스 (0)

객체는 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것을 말한다. 예를 들면 자동차, 자전거, 피자, 학과, 강의 등이 모두 객체가 될 수 있다. 이러한 객체는 속성과 동작으로 구성되어 있다. 예를 들자면 TV리모컨은 색깔, 크기와 같은 속성을 가지고 볼륨키우기 줄이기 전원 끄기 켜기 같은 동작을 가진다. 객체에서는 이러한 속성과 동작을 각각 필드, 메소드라고 부른다. 그리고 이런 객체에 대한 설계도를 클래스라고 한다. 즉 클래스는 특정 종류의 객체들을 찍어내는 틀이라고도 할 수 있다. ex) 클래스 = 와플기계, 객체 = 와플 하나의 클래스로 여러개의 객체, 즉 인스턴스를 찍어내지만 인스턴스 각각의 속성의 값은 모두 다르다. 클래스를 선언하는 방법은 다음과 같다. 먼저 클래스 이름을 정하고 그 이..

[Java] for 반복문
Dev/Java2022. 6. 27. 23:03[Java] for 반복문

for문은 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문이다. for문의 구조는 다음과 같다. for (초기화식;조건식;증감식){ 실행문 } 제일 먼저 초기화식에서 변수를 선언하며 값을 대입해 초기화하고 조건식을 평가해, 실행문을 실행한다. 블록 내부의 실행문들을 모두 실행하면 증감식을 실행하여 변수를 1만큼 증감하고, 다시 조건식을 평가한다. 조건식이 true이면 실행문을 실행, false이면 실행하지 않고 반복을 끝낸다. for (int i=1 ; i

[Java] Switch 조건문
Dev/Java2022. 6. 27. 22:43[Java] Switch 조건문

switch문은 if 문과는 다르게 변수가 어떤 값을 가지느냐에 따라 실행문이 선택된다. 만약 괄호 안의 값과 동일한 값을 가지는 case가 없으면, default로 가서 실행문을 실행시킨다.(생략가능) import java.util.random(); public class switchExample{ public static void main(String[] args){ int num = (int) (Math.random()*6) + 1; //난수 발생 random() switch (num){ case 1: System.out.println("1번") break; case 2: System.out.println("2번") break; case 3: System.out.println("3번") break;..

[Java] if 조건문
Dev/Java2022. 6. 26. 20:27[Java] if 조건문

if 문은 조건식의 결과에 따라 해당 블록의 실행 여부가 결정된다. 조건식에는 true 또는 false 값을 산출할 수 있는 연산식이나, boolean 변수가 온다. 조건식이 true 면 블록을 실행하고, false이면 실행하지 않는다. if (조건식){//python과는 다르게 조건식에 괄호 ()를 입혀줘야한다. 실행문; 실행문; ... } 중괄호 { } 블록은 실행문이 한줄일 경우 생략 가능하지만, 가독성과 버그 발생 방지를 위해 쓰는 것을 권장한다. public class IfExample{ public static void main(String[] args){ int score = 93; if (score>=90){ System.out.println("점수가 90보다 큽니다"); } } } 위 예..

[Java] 타입변환
Dev/Java2022. 6. 25. 20:46[Java] 타입변환

타입변환에는 두가지 종류가 있다. 묵시적(자동) 타입변환, 그리고 명시적(강제) 타입 변환이다. 자동 타입 변환 자동 타입 변환은 메모리의 크기가 작은 타입이 큰 크기의 타입에 저장될 때 발생한다. 먼저 크기별로 정수 및 실수 타입을 정리하자면 다음과 같다. byte(1) < short(2) < int(4) < long(8) < float(4) < double(8) * float는 4 바이트 이지만 long과 int보다 표현할 수 있는 범위가 크다. 자동 타입 변환이 발생되면 전과 후의 값은 동일하다. int intValue = 200; double doubleValue = intValue; intvalue는 정수 200이지만, doubleValue에 저장되면 200.0으로 저장된다. char charV..

[Java] 상수 / 변수 타입 추론
Dev/Java2022. 6. 23. 17:22[Java] 상수 / 변수 타입 추론

상수 상수는 프로그램이 실행되는 동안, 값이 변하지 않는 수이다. 상수는 final 이라는 키워드를 통해 사용할 수 있다. final double PI = 3.141592 // final 키워드가 있으므로 상수. 타입은 double 실수 , 이름은 PI 만약 상수로 지정해둔 값을 변경하고자 한다면 에러가 발생한다. final int num1 = 920 //상수, x의 타입은 정수. 값은 920으로 변경이 불가하다 x = 9 // 상수의 값을 변경하고자 함 에러발생. var var키워드를 사용하면 변수의 타입을 지정하지 않아도 자동으로 추론 가능하다. var age=22;//자동으로 age의 타입을 int로 추론한다. var name="Kim"; //자동으로 name의 타입을 String으로 추론한다.

[Java] 정수형 / 실수형 / 논리형
Dev/Java2022. 6. 23. 17:10[Java] 정수형 / 실수형 / 논리형

정수형 정수형으로는 byte, short, int, long이 있으며 크기로 각가 구분한다. byte 1바이트 short 2바이트 int 4바이트 long 8바이트 실수형 실수형으로는 float 와 double이 있다. 마찬가지로 크기로 구분할 수 있다. float 4바이트 double 8바이트 float var1= 0.5f; //소수점 선언 뒤에 f를 꼭 붙여주어야 한다 ! double var2=0.0005; //소수점 선언 논리형 논리형(boolean type)은 참과 거짓을 나타내며 조건문에서 많이 사용된다. 논리형은 ture와 false만 가질 수 있다. boolean falg = true; //변수명 flag, 타입 논리형, 값 true boolean x = 1 > 2;//변수명 x , 타입 논..

image