JAVA/★객체지향36 초기화와 생성자 생성자: 클래스가 생성될 때 같은 이름 생성자가 먼저 실행되도록 약속 ->가장먼저 해야할 작업(초기화작업) 생성자가 없다면 클래스와 같은 이름의 메서드(내부적으로 calculator라는)를 자동으로 만들어줌 calculator라는 메서드가 존재하지 않음 ->자바가 자동으로 만들어줌(calculator 인스턴스가 매개변수가 없을 경우에만) Calculator c1 = New Calculator(); ----> 자동으로 만들어줌 Calculator c1 = New Calculator(10,20); ----> 자동으로 생성자를 안만들어줌 -매개변수때문에 다른곳에서 동작하려면 기본 형식인 public Calculator() {} 가 있어야한다 잉? 그럼 왜 여기선?? ----->여기서 없어도 동작하는 이.. 2023. 3. 10. 스코프(유효범위) , 지역변수 전역변수 , this예시 프로그램이 커지면 여러가지로 변수이름이 충돌(겹쳐) ;;;; 메소드 안에서만 변수선언하면 그 안에서만 사용할 수 있는 변수가 됨(스코프) 사용안됐다고 뜸 int i =0; 1)전역변수 - 클래스에 직접적으로 속해있는 변수 ---------> 클래스 안에 모든 { } 안에 접근가능 지역변수 - 메소드 안에서 선언된 변수 ----------------> 메소드 안에서만 유효/ 밖에서는 효력x 전역변수 this 예시 2023. 3. 10. 클래스 /인스턴스(instance)/ 객체(object), this //static 접근 *class - 설계도 / instance - 제품 / 객체(변수와 메소드의 집합) //클래스를 정의할떄도 변수와 메소드를 정의함 *멤버는 구성원 - 그 클래스의 구성원, 인스턴스의 구성원 *클래스 소유의 변수 -> 모든 인스턴스에서 같은 값을 가짐 static(그 클래스의 멤버가 되는것) 인스턴스 마다 값이 다르기 떄문에 left right 는 인스턴스의 소유 (인스턴스의 값에 따라 달라지는 것) 1)refactoring -> 중복된 로직 제거하는 것 (건강해진 코드~ 노버그~) 유지보수 쉽고 가독성 상향 2) 나타나게 된 배경 1. 메소드 나눠지면 문제? ->객체지향으로 그룹핑을 하면 해결~ 코드양이 많아지면 코드 겹칠수도 있음 섞이고 섞이고~ -> 다른곳에 못씀 다른 코드 들어와서 rig.. 2023. 3. 10. 객체지향 이론개념들 1)추상화(abstract) - 반영할 현실을 소프트웨어로 단순하게 ex) 위성사진 -> 지하철 노선도로 간편하게 2) 부품화 ( 다른곳에서 재활용으로 사용하게) - 로직을 부품화 ex) 키보드 마우스 교체 메소드를 부품화해서 기능별로 분류되어 문제해결도 빠르게 함 -댓글창 만든다던지 등등 -> 다른곳에서도 쓸 수 있게 3) 은닉화, 캡슐화 - 내부 동작방법을 케이스(객체)안으로 숨기고 사용자에게 부품사용방법 ( 메소드) 노출 - ex) 모니터 사용 4) 인터페이스 부품과 부품을 교환가능해야함 -ex) hdmi케이블 연결 2023. 3. 10. 이전 1 ··· 6 7 8 9 다음