728x90
반응형
728x90
반응형
객체지향 정의: 객체지향이란 각각의 기능에 맞게 클래스들을 생성하여 프로그램의 기능을 구현하기 쉽게 만들고 나중에 유지보수나 재사용을 쉽게 가능하게 만들어주는 것. 각각의 클래스들을 만들때 필드(멤버변수 IV), 생성자, 메서드(행동, 기능)들을 만들어준다. 사과 판매를 예시로 하여 설명하였는데 필드, 생성자, 메서드를 아래와 같이 선언해준다. 판매자의 입장에서 필요한 멤버변수는 (1)개당 이윤과 (2)현재 사과의 잔고 (3) 사과 단가이기 때문에 필드에 3개의 변수를 선언했다. 필드는 그 클래스의 기능에 필요한 멤버변수를 선언한다 public class Mart { //field int benefit; // 이윤 int applenumber; //사과 잔고 int appleprice; //사과 단가 생..
인터페이스 default & static 만약 interface에 추상메서드를 추가하면 다른 interface의 메서드를 쓰는 클래스에 추가된 추상메서드를 전부 선언해야하는 불편함이 있다. 따라서 default값을 넣고 {} 중괄호를 붙여 선언하면 원하는 클래스에만 그 추상메서드를 선언할 수 있다 중괄호를 선언해서 몸통을 만들었기 때문에 생기는 문제점 2가지 여러 인터페이스 디폴트 메서드간의 충돌 이 경우 인터페이스를 구현한 클래스에서 디폴트 메서드를 오버라이딩 해야한다. 디폴트 메서드와 조상 클래스 메서드간의 충돌 이 경우 조상 클래스의 메서드가 상속되고 디폴트 메서드는 무시된다. class methodtest implements iftest{ public void method() { } } class..
TV 리모컨 메서드 작성 예시 channelup, channeldown, volumeup, volumedonw 메서드를 작성하여 main 함수안에 print문으로 출력함 final 상수 값을 지정하여 최대 채널값, 최소 볼륨값을 넘어가면 변동이 안되도록 조건문 삽입 public static void main(String[] args) { MyTV tv = new MyTV(); tv.channel = 100; tv.volume = 0; System.out.println("CH: " + tv.channel + " VOL: " + tv.volume); tv.channelup(); tv.volumedown(); System.out.println("CH: " + tv.channel + " VOL: " + tv.v..
클래스의 정의 1. 정의 변수 > 배열 > 구조체 > 클래스 순으로 나열됨 변수: 하나의 데이터를 저장가능한 공간 int 1 배열: 여러개의 같은 종류의 데이터를 하나로 저장가능한 공간 int 1 int 2 int 3 구조체: 서로 관련된 (타입 상관없이) 여러 데이터를 저장 가능한 공간 int 1 String hello float 1.2 클래스: 데이터와 함수의 결합, 즉 구조체 + 함수 int 1 String hello float 1.2 + 함수 1. 정의2 특징: 원하는 타입을 직접 만들 수 있다. 아래와 같이 각각의 다른 타입의 변수를 선언하고 메서드를 만든다 그 후에 선언한 class의 변수를 new를 통해서 선언함으로써 코드를 간결화 시킬 수 있다. (타입 선언 필요없음) 각각의 변수를 cla..