JAVA

· JAVA
다형성/ 클래스타입 변환/ 자동 타입 변환/ 강제 타입 변환/ instanceof 예전에 자동타입변환이랑 캐스팅(강제타입변환) 배웠었다. 그때는 변수 타입이었는데 클래스도 이러한 타입 변환이 있다! 또한 '다형성'이라는 개념도 배울 건데, '앞서 배운 재정의 + 이번에 배울 타입 변환'을 이용하면 객체지향 프로그래밍의 매우 중요한 특징인 '다형성'을 구현할 수 있다. 어떤 객체를 이용하느냐에 따라 다양한 실행결과가 나오고, 성능이 달라진다. 다형성을 구현하려면 '메소드 재정의'와 '타입 변환' 필요하다. 그럼 이제 타입 변환을 공부하자 자동 타입 변환 (promotion) ㅇ클래스에도 타입변환이 있다. --> 클래스의 변환 : 상속 관계에 있는 클래스 사이에서 발생!! -->자식은 부모타입으로 자동 타입..
· JAVA
클래스 상속해서 자식 클래스 선언하기 자동 타입 변환, 강제 타입 변환, 다형성 이해하기 클래스의 공통적 특성을 추출해서 추상 클래스로 선언하기 챕터7에서는 뭔가 클래스 관련한게 많다!!!>_유지보수 용이 ㅇ어떤 클래스를 상속받을지는 자식 클래스 선언할 때 선택한다. class 자식클래스 extends 부모클래스 { //필드 //생성자 //메소드 } 예시 class SportsCar extends Car { } ㅇ단 하나의 부모 클래스만 상속받을 수 있다! ㅇ부모 클래스에서 private 접근 제한을 갖는 필드, 메소드는 상속받지 못한다. 또, 부모와 자식 클래스가 다른 패키지에 존재한다? 이에 따라 default 접근 제한 갖는 필드, 메소드도 상속받지 못한다. 핸드폰 클래스를 상속해서 DMB 클래스를..
· JAVA
6챕터의 마지막!! 6-6 패키지와 접근 제한자 패키지 선언, import문, 접근 제한자, Getter/Setter 6-6은 아주 막연하게 알았던 import문이나 접근 제한자를 공부한다. 처음 보는 Getter/Setter은 뭘까 >.
· JAVA
인스턴스 멤버/ this/ 정적 멤버/ static/ 싱글톤/ final필드/ 상수 뭔가 6-5는 새로 배우 것들이 많다!! >_>객체 내부에 포함되느냐, 공유해서 사용하느냐 클래스 멤버(필드, 메소드)는 객체에 포함되어 있다. --> 효율적일까? ㄴ객체마다 필드값이 다르면, 객체가 필드를 가지고 있어야 하겠지만 ㄴ객체들의 필드값이 모두 같다면.. 객체마다 필드를 갖고 있는게 메모리 낭비 ㄴ그래서 그럴때는 필드를 한 곳에 두고 공유하는 개념으로 쓰는게 좋을 수 있다. >>그래서 클래스 멤버(필드, 메소드)를 '인스턴스 멤버'와 '정적 멤버'로 구분해 선언하는 것이다. 인스턴스 멤버 >>나는 지금까지 '인스턴스 필드'와 '인스턴스 메소드'를 선언해온 것이다. >>이런 필드와 메소드는 '인스턴스 멤버이기 때..
· JAVA
6-4 메소드 선언부, void, 매개변수, 리턴문, 호출, 오버로딩 메소드 메소드 선언: 1.선언부 2.실행블록 으로 구성된다. (선언부를 메소드 시그니처라고도 한다!) (선언부 --> 리턴타입, 메소드이름, 매개변수선언) ㄴ리턴 값이 없을 수도 있다. -->리턴 타입 void로 적는다. ㄴ리턴값 없으면 저장할 변수도 딱히 필요 없으니까 그냥 메소드만 호출하면 된다. ㄴ리턴 타입 있어도 반드시 변수에 넣을 필요는 없다. 리턴값이 중요하지 않다면 그냥 메소드만 호출해도 된다. 상황에 맞게 잘 쓰자!! >>리턴값이 없어 단순 호출만 할건지, 리턴값을 받아서 어떤 변수에 저장해둘건지. 메소드 이름도 자바 식별자 규칙에 맞게 작성한다. (복습: $랑_만 됨, 숫자로 시작하면 안됨 등등) +매개변수 관련 매개값..
· JAVA
더보기 기본미션 JDK설치화면 인증샷 설치폴더 인증입니다^ㅡ^/ 선택미션 학습스케쥴링
· JAVA
생성자 ㄴ모든 클래스에 하나 이상 반드시 존재. ㄴ선언하지 않았다면 기본 생성자가 자동으로 추가됨. >>소스 파일에 생성자를 선언하지 않아도, 바이트 코드 파일에는 기본 생성자가 존재함. >>생성자를 명시하는 경우: 객체를 다양한 값으로 초기화하기 위함! 기본 생성자: 중괄호 안이 비어있는 생성자. [public] 클래스( ) { } 클래스가 public class로 선언되었을 때 기본생성자에도 public이 붙는다. 객체 생성하려면 생성자 호출이 반드시 필요하다. ㄴ객체 생성시 초기화를 담당: 객체 초기화란? 객체를 사용할 준비를 하는 것. (필드, 메소드 관련) 생성자가 성공적으로 실행되면 --> 힙 영역에 객체생성 & 객체번지 리턴 리턴된 객체번지는 변수에 저장된다. (클래스 변수에.) ㄴnew연산..
· JAVA
필드 에는 객체의 고유데이터, 객체가 가지는 '부품'들, 객체의 현재 상태 데이터 저장한다. 예를 들면.. 밑에 사진과 같은 정보들. 이런 정보들은 필드로 선언된다. 필드 작성할 때 저러한 내용이 들어가는 것이다. 생성자나 메소드 중괄호를 제외한 클래스 중괄호 어디든 필드를 작성할 수 있다. (생성자, 메소드 중괄호 안에 선언된 것들은 모두 로컬 변수....) 저번에도 봤지만 필드 선언하는 것은 마치 변수 선언하는 것처럼 보인다. 그래서 보통 '클래스 멤버 변수'라고 부르기도 하는데, 저번에 학습했듯이 이거는 엄밀히 잘못된 표현이고 그냥 필드라는 용어를 사용하는 것이 좋다. -예은 클래스- String live_in = "인천"; String boyfriend = "yhs"; int age = 22; i..
· JAVA
챕터 6 클래스로 들어간다. ㅡ 객체 생성을 위한 클래스 선언 ㅡ 필드 선언하고 생성 후 -> 읽어들이고 변경하는 방법 ㅡ 생성자를 선언하고, 생성자에서 필드를 초기화하기 ㅡ 메소드 기능 이해하기 ㅡ 패키지 선언 방법 알기 ㅡ 접근 제한자의 종류, 사용 방법 객체는 속성과 동작을 가진다. 속성은 "필드", 동작은 "메소드" 라고 한다. 객체를 설계한다고 표현한다. (object modeling) (현실 세계 객체의 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의) 객체는 독립적이고, 다른 객체와 메소드를 통해 상호작용한다. >>객체가 다른 객체의 기능을 이용하는 것이 "메소드" 호출하는 것!! >>객체의 상호작용 = 객체간 메소드 호출. by매개값, 리턴값 리턴값 = 객체명.메소드(매개값1..
· JAVA
5챕터 남은 내용 : 다차원 배열, 객체를 참조하는 배열, 배열 복사, 향상된 for문 지금까지 공부한 배열은 1차원 배열입니다. 2차원 배열은 뭘까요? 수학의 행렬을 떠올리면 된다고 합니다. 가로 인덱스와 세로 인덱스를 사용합니다. 행과 열이요~! int[][] scores = new int[2][3]; 요로코롬 쓴다. 우와.. 변수 scores가 배열A(행,길이2)를 참조하여 scores[0]과 scores[1]이 있다. 그런데 여기서 조곰 충격!! scores[0]이랑 scores[1]은 그냥 1차원배열에서의 항목 정도가 아니라 또 다른 배열을 참고할 수 있다!! 뜨든 배열A의 scores[0]과 scores[1]은 또 다른 배열B와 배열C를 각각 참조한다..! (열,길이3) 그래서 scores.l..
히어로맛쿠키
'JAVA' 카테고리의 글 목록 (11 Page)