본문 바로가기

JAVA/언어입문17

자바(JAVA) - static 변수 / static 메서드 static static 변수 = 클래스 변수 statc 메서드 = 클래스 메서드 static 변수 역할 프로그램에서 단 하나만 존재하는 변수를 설정 (여러개 존재하면 X) 여러개의 인스턴스가 같은 메모리의 값을 공유하기 위해 사용 인스턴스가 공유하는 변수 예시 Student 클래스 생성 public class Student { int studentID; Stirng studentName; static String position = "student"; } 위와 같이 class를 만들었을 경우 실행단에서 2개의 인스턴스를 생성한다 했을 때 Student 인스턴스 생성 public class StudentTest { public static void main(String[] args) { Student s.. 2022. 3. 25.
자바(JAVA) - 객체간 협력 위와 같이 학생, 버스, 택시 객체가 존재할 때 각 객체들은 메서드를 통해서 상호작용이 가능하다. 학생(객체) 멤버변수 : 학생이름, 소지금액 메서드 : 버스를 탄다, 택시를 탄다, 소지금액을 보여준다, ... 버스(객체) 멤버변수 : 버스번호, 보유금액, 승객수, ... 메서드 : 사람을 태운다, 보유금액을 보여준다, ... 지하철(객체) 멤버변수 : 지하철 호선, 승객수, 보유금액, ... 메서드 : 사람을 태운다, 보유금액을 보여준다, ... 학생 버스, 지하철 객체 생성 및 협력 각 클래스들은 같은 package 내에 존재한다고 가정하고 형성 학생 public class Student { String studentName; int money; //소지금액 //생성자 public Student(St.. 2022. 3. 16.
자바(JAVA) - 예약어 this this 사용 용도 자신의 메모리를 가리킴 생성자에서 다른 생성자를 호출 자신의 주소를 반환 public class Student { int studentID; String studentName; int grade; // 자신의 메모리를 가리킴 public Student(int studentID, String studentName) { this.studentID = studentID; this.studentName = studentName; } // 생성자에서 다른 생성자를 호출 public Student() { this(0, "이름없음") } // 자신의 주소를 반환 public Student showthis() { return this; } } 자신의 메모리를 가리킴 public class Stude.. 2022. 3. 16.
자바(JAVA) - 접근제어자(private/default/protected/public) 접근제어자 (Access Modifier) 변수나 메소드의 접근권한을 설정 private → default → protected → public 순으로 보다 많은 접근을 허용 사용이유 : 코딩실수 방지, 이상 데이터 등의 위험요소를 제거할 수 있다. private 범위 : 해당 클래스 내에서만 접근 가능 클래스의 외부에서 클래스 내부의 멤버변수나 메서드에 접근(access)하지 못하게하는 경우 사용 멤버변수나 메서드를 외부에서 사용하지 못하도록하여 오류를 줄일 수 있다. 데이터의 무결성을 지킬 수 있다. (ex : 이상 데이터의 입력방지, ...) 멤버변수 사용이 필요한 경우 getter/setter 메서드를 통해 사용가능 코드 예시 아래와 같이 class BirthDay의 멤버변수들을 private로 .. 2022. 3. 15.
자바(JAVA) - 참조자료형(Reference Data Type) 변수의 자료형 - 참조자료형 / 기본자료형 참조 자료형(Reference Type) 클래스 타입으로 변수를 선언하는 자료형 JDK(Java Development Kit)내의 자바 라이브러리에서 제공하는 자료형 : String, Date, ... 아래와 같이 직접 생성도 가능 Student.java public class Student { int studentID; String studentName; // 아래 Subject.java에서 만든 class활용 Subject korea; Subject eng; // 생성자 public Student(int studentID, String studentName) { this.studentID = studentID; this.studentName = student.. 2022. 3. 14.
자바(JAVA) - 생성자(constructor) 생성자(contructor) 인스턴스를 초기화할 때의 명령어 집합 생성자의 이름 = 그 클래스의 이름 생성자는 메소드X, 상속X, 리턴값X public class Student { int studentID; String studentName; int grade; String address; public String getStudentName() { return studentName; } } 위와같은 클래스를 생성했을때 아래 코드와 같이 인스턴스를 생성할 수 있다. Student studentA = new Student(); 클래스 내에 따로 생성자를 만들지 않았지만 Student()라는 생성자를 통해 인스턴스를 생성하였다 클래스 내에 따로 생성자를 만들지 않으면 JAVA Compiler가 디폴트 생성자를.. 2022. 3. 9.