Java (54) 썸네일형 리스트형 자바 연습 (생성자 , 정보은닉 , 객체 협력) public class MyDate { private boolean valid = true; private int day; private int month; private int year; public int getDay() { return day; } public void setDay(int day) { if(day > 31 || day 12 || month 3000 || year this 응용 public Person(String name, int age) { this.name = name; this.age = age; } 이렇게 있을 때, public Person() { this("임현준",20); } 이렇게 this 사용해서 자기 생성자 호출 가능. this가 생성자를 호출 할 때 first statement여야 함 this위로 어떤 문장이 들어가서는 안됨. 인스턴스를 복사하고 싶으면 this를 return하는 함수를 class 내부에서 만들어서 다른 인스턴스에 자신의 this로 초기화 시키면됨. 정보 은닉. 같은 패키지 내에서는 디폴트여도 에러 x 근데 패키지 달라지면 public으로 고쳐줘야 함. private는 하나의 클래스 파일 내부에서만 유효. public같은 경우 외부에서 그냥 인스턴스의 멤버 변수에 직접 접근을 해서 설정이 가능하므로 위험. source -> generate -> getter setter private 변수 수만큼 생성. public오픈과 private로 변수 닫고, public 메소드로 접근 하는것 차이! => get을 못하게 하고 set을 못하게 하는 변수 예를 들면 read only 데이터 같은 거 표현. => set을 받을 때 조건에 따라 안받는 경우나 여러 상황을 지정 해 줄때. (유효 데이터 핸들링) 생성자 객체 & 인스턴스 오버로딩. public 키워드의 클래스는 클래스 파일내에 1개 존재. 생성자 Student() { 해주고 싶은 작업 } 을 class 내에 넣어주면 외부 클래스에서 Student객체를 생성할 때 저 생성문이 실행됨. static은 Student 객체가 2개이상 생성되었다고 할 때, 각각 static 변수에 접근해서 작업 하더라도 공유됨. 메소드를 static으로 하면 객체 생성안하고 클래스 이름만으로 함수 접근 가능. 클래스로부터 생성된 객체 -> 인스턴스 => 인스턴스는 스택에 생성되고 인스턴스의 멤버 변수들은 힙에 저장됨. 따라서 Student Imu = new Student(); 이렇게 해주면 Imu. 이 시점에 stack 에서 heap에 있는 자신의 멤버변수가 저장된 메모리를 지칭하게 됨. 자바는 c++과 .. Java 기초 직접 메모리 핸들링 - 기존언어 -> 시스템 다운됨. 안정적인 언어에 대한 요구 반영 c언어 -> 운영체제에 따라서 실행파일을 따로 만들어야됨. 자바 -> .class 파일이 만들어지는데 가상머신만 있으면 해당 운영체제에 맞게 실행파일을 생성. 메모리 핸들링을 안하므로 -> 안정성이 좋고 JDK 오픈소스 풍부함. 패키지 소문자 클래스 대문자 main -> 시작점을 위한 함수. 메인이 없어도 되는 경우가 있음. System.out.println() -> 프린트. ctrl + s -> 컴파일. 4바이트 까지는 long 그냥 사용가능한데 그 이후부터는 숫자뒤에 L 붙혀야됨 long lval = 100; ok long lval = 12345678900L; 이렇게 자바는 유니코드 사용. 한글 같은거는 1바이트로 .. java - sudoku 코딩. 여기서 스도쿠는 9X9 사이즈로 한다. 스도쿠 규칙 1) 같은 열에 같은 숫자가 중복되면 안됨. 2) 같은 행에 같은 숫자가 중복되면 안됨. 3) 3X3 정사각형 안에 같은 숫자가 중복되면 안됨. [아이디어] 우선 back tracking 알고리즘을 사용하기로 한다. 0으로 초기화 되 있는 9X9 사이즈의 배열을 선언하고, 그 배열을 스도쿠 규칙에 맞게 채우는 함수를 호출 시킨다. 이 함수의 역할은 배열에서 0의 값을 갖는 좌표를 찾아 그 안에 수를 대입해보고 이 때 이 수가 promising한지 판단. promising하다면 이 수를 채운 배열을 가지고 재귀호출하여 다음 단계로 넘어간다. 이때 중요한 것은 숫자를 채우는 조건이 값이 비어있는 경우 이므로 몇번의 단계 호출 후에 잘못된 것을 알았을 때 그.. 이전 1 ··· 4 5 6 7 다음