메서드3 [JAVA 기초] 자바 클래스 멤버와 인스턴스 멤버 1 클래스 멤버와 인스턴스 멤버간의 참조 및 호출 클래스 변수와 클래스 메서드를 클래스 멤버라 부르고 인스턴스 변수와 인스턴스 메서드를 인스턴스 멤버라고 부른다. 같은 클래스에 속한 멤버들끼리는 인스턴스를 생성하지 않고 변수를 참조하거나 메서드를 호출한다. 하지만 클래스 메서드로 인스턴스 멤버들을 참조하는 것은 에러가 발생한다. 그 이유는 클래스 멤버가 존재하는 시점은 처음 클래스가 메모리에 올라갈 때인데 이 시점에서 인스턴스 멤버는 존재하지 않기 때문이다. 인스턴스 멤버의 클래스 멤버 사용 -> 가능 클래스 멤버의 인스턴스 멤버 사용 -> 에러 인스턴스 멤버의 인스턴스 멤버 사용 -> 가능 클래스 멤버의 클래스 멤버 사용 -> 가능 네가지 경우 중에 클래스 멤버로 인스턴스 멤버를 사용할 경우에만 에러가.. 2021. 3. 9. [JAVA 기초] 자바 클래스 메서드와 인스턴스 메서드 1 메서드란 메서드는 멤버 함수 (member function)라고도 불리며, 객체 지향 프로그래밍에서 객체와 관련된 함수로 데이터와 멤버 변수에 대한 접근 권한을 갖는다. 메서드는 클래스 기반 언어에서는 클래스 내부에 정의되며, 프로그램이 실행되고 있을 대 클래스에서 생성된 인스턴스와 관련된 동작을 정의한다. 특정한 작업이나 논리를 구성하는 코드를 괄호로 묶어 놓은 것이다. 메서드는 입력 값을 받아서 내부에서 처리하여 결과를 출력 또는 반환하는 역할을 한다. 메서드는 한 번 정해놓으면 언제든지 호출할 수있고 다른 프로그램에서도 사용한다. 이러한 재사용성은 프로그래머에세 상당히 효율적이고 또 코드의 중복을 피할 수 있게 도와준다. 메서드는 실제 현실에서 누군가에게 하는 '함축적인 지시'와 비슷하다. 2 .. 2021. 3. 9. [JAVA 기초] 자바 문자열 비교 (연산자 ==와 메서드 equals와 차이) 자바에서 값을 비교하는 방법으로 보통 연산자인 ==를 많이 사용한다. 하지만 문자열 타입의 String은 메서드인 equals()를 주로 사용하는데 이는 == 은 주소값을 비교하고 equals는 값만을 비교한다는 차이점 때문에 발생되는 것이다. 이 차이를 이해하려면 먼저 String타입의 생성을 이해해야 한다. 일반적인 int, float같은 타입들은 대상에 주소값을 가지지 않는 형태로 사용된다. 하지만 String타입은 클래스타입이라 선언했을 때 주소값이 생성되기 때문에 같은 값을 갖더라도 주소값이 다를 수 있다. 이는 다음 내용을 숙지하면 이해가 쉬울 것이다. 1 Call By Reference (CBR) 대상에 주소값을 갖지 않는 형태로 사용된다. int, float, doble 같은 타입이 pri.. 2021. 3. 3. 이전 1 다음