전체 글143 JAVA instanceof 연산자 두 변수가 같은지 비교 할 수 있는 연산자 : 클래스 명만 같은지 비교 package kr.or.ksmart; class MemberDto{ private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } @Override public int hashCode() { final int prime = 31; //주소값 int result = 1; result = prime.. 2020. 4. 29. JAVA equals( ) 메서드 public boolean equals(Object obj) Indicates whether some other object is "equal to" this one. The equals method implements an equivalence relation on non-null object references: ◦ It is reflexive : for any non-null reference value x, x.equals(x) should return true. ◦ It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.. 2020. 4. 29. JAVA - hashCode( ) hashCode 메서드 public int hashCode() Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by HashMap. The general contract of hashCode is: ◦Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used .. 2020. 4. 29. JAVA 추상 클래스 추상화 공통적인것을 모아서 추상적으로 만든다. ① 추상 클래스 ② 인터페이스 추상 클래스 - 클래스명 앞에 abstract 키워드가 붙는다. - abstract 키워드가 붙은 추상 메서드를 구현 할 수 있다. - 추상 클래스는 일반적인 메서드 및 필드도 구현이 가능하다. - 약간 유동성이 있다(유도리 있는 친구네). 인터페이스는 일반 메서드를 가질 수 없다. - 추상적인 클래스는 직접 인스턴스화를 할 수 없다. - 추상 메서드는 몸체가 없다. ('{ }' 구현부가 생략 되어야 한다.) - 추상메서드는 서브 클래스에서 필히 구현이 되어야한다.(오버라이딩) package kr.or.ksmart; abstract class Sample3{ public abstract void print(); } } publi.. 2020. 4. 27. JAVA override && final 오버라이딩 - 슈퍼클래스의 메서드와 동일한 메서드 명과 인수로 재구현 하는 방식 - 슈퍼클래스의 메서드를 재구현 할 때 @Override 어노테이션이 붙는다. package kr.or.ksmart; class Car{ private int num; private int gas; public int getNum() { return num; } public void setNum(int num) { this.num = num; } public int getGas() { return gas; } public void setGas(int gas) { this.gas = gas; } } class Bus extends Car{ @Override public void setGas(int gas) { super.set.. 2020. 4. 27. JAVA 다형성 1. 다형성 - 하나의 클래스를 상속받아 여러개의 클래스가 확장 되었을 경우 상속의 주체가 되는 슈퍼클래스의 참조 타입으로 업캐스팅이 가능하며 캐스팅 된 객체로 비지니스 로직 처리가 가능하다. 2. 업캐스팅 (up cast) - 상속받아 객체화 된 대상을 슈퍼클래스 참조타입으로 캐스팅 하는 것 - 슈퍼클래스 -> 서브 클래스 3. 다운 캐스팅 (down cast) - 객체화 된 부모클래스에서 상속을 받은 서브클래스로 캐스팅 되는 것 - 서브클래스 -> 슈퍼클래스 package kr.or.ksmart; class Car{ private int num; private int gas; public int getNum() { return num; } public void setNum(int num) { this.. 2020. 4. 22. JAVA 상속 1. 상속 -이미 만들어진 클래스를 확장할 때 상속하여 확장한다. - 확장 대상 클래스는 슈퍼 클래스라고 불리며, 확장 실행하는 클래스는 서브 클래스이다. 2. 슈퍼클래스 - 확장 대상 클래스 - 서브클래스에 접근 할 수 없다. 3. 서브클래스 - 확장을 실행하는 클래스 - 슈퍼 클래스의 필드 및 메서드를 가진다. - 확장을 한다하더라도 접근지정자의 영향은 받는다. - 서브 클래스에서 부모클래스를 가르키는 키워드는 super 키워드이다. - super.부모메서드 or 부모 필드 - super() 부모 생성자 메서드 4. extends - extends 라는 키워드를 활용하여 상속이 가능하다. - extends 키워드가 없을 경우 Object 클래스를 상속받는다. package kr.or.ksmart; c.. 2020. 4. 22. JAVA 생성자 설계하기 생성자 메서드 - 객체화(인스턴스화)될 때 실행되는 메서드 - 기본적으로 생략되어있으며, 메서드명은 클래스명과 동일하다. - 기본값 class 클래스명 { 접근지정자 클래스명(){ } } package kr.or.ksmart; class User2{ private String name; public User2(){ System.out.println("생성자 메서드 호출"); } } public class JavaBasic02 { public static void main(String[] args) { User2 user2 = new User2(); } } 생성자 메서스의 위치 class 클래스명{ 필드 생성자 메서드 일반 메서드 } 생성자 메서드의 인수값 생성자 메서드에 인수값이 있을 경우 인스턴스화 할.. 2020. 4. 22. JAVA 메서드 오버로딩 1. 메서드 오버로딩 - 동일한 메서드명으로 메서드 선언이 가능하다. - 단, 인수타입, 인수갯수가 달라야한다. 2. 메서드 오버로딩 호출 package kr.or.ksmart; import java.io.File; class User{//데이터 저장 형태 private String name; private String age; public void setUserInfo(String name) { this.name = name; } public void setUserInfo(String name, String age) { this.name = name; this.age = age; } public String getName() { return name; } public String getAge() { r.. 2020. 4. 22. JAVA 실습. 클래스 실습 1. ACalculator 클래스를 생성하고 계산할 수 있는 메서드를 만들어 계산을 하고 그 결과 값을 반환하시오. ** 리턴 있는 클래스 선언 호출 하기 연산 : 10 + 20 package kr.or.ksmart; class ACalculator{ public int cal(int n1, int n2) { return n1 + n2; } } public class JavaBasicEx06 { public static void main(String[] args) { ACalculator sum = new ACalculator(); System.out.println(sum.cal(10, 20)); } } 실습2. 위의 회원의 정보가 담긴 다차원 배열이 있다. memberInfoArray의 객체(Me.. 2020. 4. 21. JAVA 형 변환 1. 형변환 (캐스트) 다른 자료형(데이터형)으로 변환할 때 2. 숫자 타입 형변환 작은 숫자 타입 -> 큰 숫자 타입 : 명시적으로 형변환 package kr.or.ksmart; public class JavaBasic01 { public static void main(String[] args) { //작은 형 -> 큰 형 : 명시적으로 형변환 int inum = 160; double dnum = inum; System.out.println(inum + " - > - "+ dnum); } } 큰 숫자 타입 -> 작은 숫자 타입 : 캐스트 연산자를 활용하여 형 변환 작은 숫자 타입의 크기를 넘어서면 변환이 안된다. package kr.or.ksmart; public class JavaBasic01 { p.. 2020. 4. 21. JAVA 클래스 1. 클래스 선언하기 - 클래스 키워드와 함께 클래스명 지정 - 접근 지정자 지정 - 필드와 함께 메서드를 갖는다. 2. 접근지정자 - public : 전 패키지 내에 접근 가능 - protected : 해당 패키지 내에서 접근 가능 - private : 해당 클래스에서 접근가능 - default : 접근 지정자가 명시 되어있지 않는 클래스나 메서드, protected와 동일 3. 필드 - 필드는 접근지정자와 데이터형 변수명으로 변수를 선언 가능 - 접근지정자 데이터형 변수명; - 필드는 주로 private으로 선언하여 캡슐화한다. **캡슐화 ; 클래스의 데이터와 기능을 하나로 묶어 구성원을 보호하는 기능 다른 패키지에서 접근할 수 없도록 보호하는 것, 데이터 은닉 4. 메서드 - 메서드는 접근지정자, .. 2020. 4. 21. 이전 1 ··· 4 5 6 7 8 9 10 ··· 12 다음 728x90 반응형