JAVA
-
static변수와 메서드 +싱글톤패턴JAVA 2022. 6. 14. 13:27
static변수는 여러 인스턴스에서 공통으로 사용하는 변수를 뜻한다. 인스턴스 A , 인스턴스 B , 인스턴스 C가 static변수를 기준값으로 사용한다. 예를 들면, 학생마다 새로운 학번을 생성하거나, 카드발급시에 카드 번호를 부여하거나 등등의 사례가 있다. 클래스 변수, 정적 변수라하며, static int serialNum 위처럼 선언한다. public static int serialNum = 1000; 이렇게 선언해주고, main을 넣은 test클래스에 Student studentLee = new Student(); studentLee.serialNum++; Student studentKim = new Student(); studentKim.serialNum--; 이렇게 생성된 인스턴스마다 ser..
-
thisJAVA 2022. 6. 13. 21:39
this는 객체 자신을 가리킨다. 즉, 인스턴스 자신의 메모리를 가진다. 예를 들면, public void setYear(int year) { this.year = year; } 위의 클래스를 사용하려고 main을 만들어서 public static void main (String[] args) { BirthDay day = new BirthDay(); day.setYear(2000); } 이렇게 쓰면, setYear에는 this라는 메모리가 스택메모리에 저장되는데, 그 메모리는 year을 가리키게 된다. 그리고 생성자가 여러개 일때, 자기 자신을 나타내는 this와 다른생성자를 호출하는 this가 있는데, String name; int age; public Person() { this("no name",..
-
접근 제어 지시자, 정보은닉, 캡슐화JAVA 2022. 6. 13. 10:30
접근 제어 지시자(access modifier)는 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정한다. private : 같은 클래스 내부에서만 접근이 가능하다. (외부 클래스, 상속관계클래스에서도 접근 불가) 아무것도 없음(default) : 같은 패키지 내부에서만 접근가능하다. (상속관계여도 패키지 다르면 접근 불가) protected : 같은 패키지나 상속관계의 클래스에서 접근 가능하고, 그 외 외부에선 접근할 수 없음 public : 클래스 외부 어디서나 접근 할 수 있다. 위같은 키워드들이 있고, private 으로 선언된 멤버변수에 대해 접근하려고, get(), set() 키워드가 있다. 예시를 들어보자. BirthDay클래스를 만들어보자. package ..
-
참조 자료형 변수JAVA 2022. 5. 23. 22:07
변수의 자료에는 기본자료형 / 참조자료형이 있다. 기본자료형은 int, long, float, double등이 있고, 참조자료형은 우리가 만든 String, Date, Student등 클래스형으로 변수를 선언하는 것을 의미한다. 기본자료형은 메모리가 정해져 있지만, 참조자료형은 클래스에 따라 다르다. 참조자료형에 대한 예시를 들어보면 한 학생의 학번 / 학생이름 / 국어성적 / 수학성적 / 과목이름 등을 클래스 속성에 모두 담으면 불합리하므로 학생이란 클래스엔 학번 / 학생이름 / 듣는과목들 ex국어과목 수학과목 이렇게 만들고 과목이란 클래스에 과목이름 / 과목성적 이렇게 과목에 대한 클래스를 만들어서 학생클래스에서 필요한 모든걸 속성으로 만드는게 아니라 클래스를 변수로 사용해서 정리할 수 있다. pub..
-
함수와 메서드(인스턴스, 생성자)JAVA 2022. 5. 18. 13:25
먼저, 함수란 하나의 기능을 구현하는 코드를 뜻한다. 함수를 정의할 땐, 클래스 외부에 정의하며 int add (int num1, int num1) { int result; result = num1 + num2; return result; } 위처럼 return으로 나오는 값의 자료형을 쓰고, 함수의 이름을 쓴 후, 파라미터가 필요하면 ()내부에 자료형과 파라미터를 적어준다. 만약, 반환이 없으면 void add(){} 이렇게 쓰면 된다. 사용시엔 return이 있다면 반환받을 변수를 만들어주고 아니라면 함수이름을 add()이렇게 써주면 된다. 잠깐, 메모리에 대해 알아보자. 스택 메모리라는게 있다. 함수가 호출될 때 지역 변수들이 사용하는 메모리인데, 함수안에 선언된 변수들이 사용하는 메모리를 뜻한다...
-
객체와 객체지향이란?JAVA 2022. 5. 16. 13:34
객체란 구체적이나 추상적인 데이터 단위를 얘기한다. 즉, 액션이 일어나거나 기능을 수행하는 명사들이다. 여기서 객체지향이란 시간의 흐름에 따른 프로그래밍이 아니라, 한 객체에 의해 여러가지 관계가 생기는 것을 프로그래밍 하는 것을 얘기한다. 클래스는 객체의 청사진이 된다. 해당 객체의 어떤 특징들을 정리해놓는게 클래스가 된다. 예시로 학생 클래스는 public class Student { int studentNumeber; String studentName; String majorName; int grade; } 이런, 학생이란 속성을 정의할 수 있는데, 이런걸 멤버변수(member variable)라고 한다. 주문 클래스는 public class Order { int orderId; String buy..
-
반복문(while, do while, for)JAVA 2022. 5. 12. 13:44
반복문은 조건이 참인 동안 반복수행하는 제어문을 뜻한다. 먼저, while문을 보자. while(조건식) { 수행문1; } 수행문2; 조건이 참일 때, 수행문1을 계속 실행하다가, 참이 아니게되면 수행문2가 실행된다.(true를 넣으면 무한반복) 이번엔 do while문을 알아보자. do { 수행문1; } while (조건식) { 수행문2; } do 안에 있는 수행문1을 무조건 한번 실행하고, 그 다음 조건에 맞게 수행문2를 실행한다. 이제, for문을 알아보자. for (초기화식; 조건식; 증감식) { 수행문; } //보통 for (num = 1; num