728x90
반응형
728x90
반응형
프로젝트를 설계할 때 생각의 순서: MVC MVC: Model & View & Controller의 줄임말이다. 국비과정을 들으면서 강사님이 설명해주셨던 내용인데, 기초에 꼭 필요한 정보일 것 같아 적어놓는다. 예시 프로젝트: 친구들 중에 대학교 친구, 사회 친구들의 주소와 이름, 나이 등의 iv를 받고 출력하는 주소록 프로그램 Model: 프로젝트를 설계하면서 만드는 class들이다. 위의 예시의 Model은 현재 Friend와 그 하위 자식 클래스 View: 만든 모델을 시각화해주는 클래스이다. 이 프로젝트의 View는 주소록의 옵션을 표현하는 메뉴판 Control: 이 Model과 View의 변수를 조절할 수 있는 메서드를 가지고 있는 클래스를 Control이라고 부른다. 일단 Model과 View..
메서드 오버라이딩 다형성을 통해 조상의 자료형으로 자식의 클래스를 호출하면 일반적으로 조상의 멤버변수와 메서드만 호출할 수 있다. 하지만 상속의 조건하에서 오버라이딩된 자식의 메서드는 동일한 이름으로 되어있기 때문에 호출 가능하다. public class Overriding { public static void main(String[] args) { Speaker speaker = new Speaker(); Speaker speaker2 = new BaseEnSpeaker(); speaker2.setVolumeRate(7); System.out.println(speaker2.getVolumRate()); speaker2.showCurrentState(); //출력문: //7 //베이스 크기: 0 //자료..
StringTokenizer 구분자를 제외하고 변수의 data를 읽어오는 기능을 포함하는 메서드 메서드를 선언하고 () 안에 읽어올 데이터 변수와 구분자를 ""로 선언해주면 그 구분자를 제외하고 출력시켜준다. 읽어올 데이터가 있으면 true를 반환하고 더이상 꺼내올 데이터가 없으면 false를 반환한다. 따라서 while문을 사용하여 데이터를 꺼내오는 것이 적합하다. 데이터를 읽어올 때 nextToken을 사용하여 데이터를 읽어올 수 있다. public static void main(String[] args) { String data = "11:22:33:44:55"; StringTokenizer st = new StringTokenizer(data, ":"); //:를 기준으로 데이터가 있느냐를 파악하..
static을 붙이는 메서드 메서드에 static이 붙는 경우는 어떤 불변의 기능을 언제든지 실행시켜야 할 때 static이 붙는다. 예를 들어 원의 둘레를 구하는 메서드를 구현한다고 하면, 이 경우는 static이 붙여져서 선언된다. 이유: 어느 전 국가에서나 통용되는 범용적인 공식이기 때문에 static을 붙여서 선언한다. 위처럼 메서드의 기능을 잘 생각해서 static을 붙일지 말지 결정하여 메서드를 선언한다. 아래에는 static이 붙은 메서드에 일반 멤버변수가 들어간 경우이다. 이 때 static 메서드과 멤버변수는 이미 메모리가 할당되어 객체 호출없이 static 멤버변수를 사용 가능하지만 일반 멤버변수는 메모리 할당이 되어있지 않기 때문에 사용이 불가능하다. 따라서 메서드안에 객체를 호출해줘..
생성자 안의 객체 생성 시 컴파일 오류 강사님이 Calculator라는 클래스를 정의할 때 클래스 안의 다른 2개의 클래스들을 다른 클래스에서도 선언하기 위해 그 클래스들의 객체를 필드 값에 정의한 내용이다. 이때 나의 질문 내용은 필드값에 객체를 한번에 선언하여 Calculator 라는 클래스를 통해 다른 클래스의 메서드들을 접근하는 것과 생성자에 객체의 주소값을 별도로 메모리에 할당하는 것의 차이점을 여쭤보는것이었다. 강사님은 두개에 별다른 차이점은 없고 컴파일 시 오류가 나지 않지만, 자바 안의 생성자의 목적(값을 초기화) 에 맞게 별개로 객체를 정의하여 생성자에 별도로 정의하는 것이 좋다고 하셨다. 아래는 질문을 드릴 때 사용되었던 코드. Calculator를 실행시키기 위해 사용되었던 Main ..
접근제어자 private private을 넣으면 현재 클래스에서만 접근 가능하도록 데이터의 접근 범위를 제한 따라서 다른 클래스에서 Mart를 선언하여 출력한다고 해도 오류가 발생함 public class Mart { //field private int benefit; // 이윤 private int applenumber; //사과 잔고 private int appleprice; //사과 단가 아무것도 지정안할 경우에는 default값으로 지정되는데 default값은 같은 package내에서 접근이 가능함 public일 경우에는 어디서나 이클립스 안이라면 선언이 가능하다 public class Mart { //field int benefit; // 이윤 public int applenumber; //사과..
객체지향 정의: 객체지향이란 각각의 기능에 맞게 클래스들을 생성하여 프로그램의 기능을 구현하기 쉽게 만들고 나중에 유지보수나 재사용을 쉽게 가능하게 만들어주는 것. 각각의 클래스들을 만들때 필드(멤버변수 IV), 생성자, 메서드(행동, 기능)들을 만들어준다. 사과 판매를 예시로 하여 설명하였는데 필드, 생성자, 메서드를 아래와 같이 선언해준다. 판매자의 입장에서 필요한 멤버변수는 (1)개당 이윤과 (2)현재 사과의 잔고 (3) 사과 단가이기 때문에 필드에 3개의 변수를 선언했다. 필드는 그 클래스의 기능에 필요한 멤버변수를 선언한다 public class Mart { //field int benefit; // 이윤 int applenumber; //사과 잔고 int appleprice; //사과 단가 생..